IIS 部署 Python Django网站流程(受够了野路子)
知道的,百度上搜出来的东西质量令人唏嘘。当你求助的时候多半还得靠自己,或者靠Google
介入正题,详细来一遍流程吧
当然,我是用Visual Studio 2019 来编辑开发Django项目的,如果你也是那么巧了。这可以帮你
如果你Django项目可以在vs上运行,那么关键的是能不能在项目根目录跑起来,这个需要测试一下。
先安装wfastcgi模块
- pip install wfastcgi
安装成功后,在你python 的根目录 【Python\Lib\site-packages】下面找到 wfastcgi.py 文件,复制一份放在项目的根目录下面即可。
在你项目根目录下面 按住Shift 鼠标右键 菜单,点击 【 在此处打开powershell窗口】输入以下命令
- python manage.py runserver
出现
- PS E:\Git\GitRepository\CodeShitPro\DjangoWebProject> python manage.py runserver
- Performing system checks...
- System check identified no issues (0 silenced).
- You have 3 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth.
- Run 'python manage.py migrate' to apply them.
- December 29, 2018 - 13:37:18
- Django version 2.1.4, using settings 'DjangoWebProject.settings'
- Starting development server at http://127.0.0.1:8000/
- Quit the server with CTRL-BREAK.
如果出现跟这个一样那就恭喜你可以继续往后配置了。如果不行,那么pip 安装对应的模块即可
现在打开IIS 创建网站,根目录可以指向你项目根目录,没有关系。测试嘛,跑起来就好,规范的事情在规范的时候去做!
接下来给你的Django项目添加一个web.config 文件,内容如下:
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration>
- <system.webServer>
- <handlers>
- <add name="Python FastCGI" path="*" verb="*" modules="FastCgiModule" scriptProcessor="F:\Program Files (x86)\Python\python.exe|E:\Git\GitRepository\CodeShitPro\DjangoWebProject\wfastcgi.py" resourceType="Unspecified" />
- </handlers>
- </system.webServer>
- </configuration>
注:
- scriptProcessor 里面以 "|" 分割开的俩段内容,第一个是你python的根目录找到【python.exe】 第二段是复制了【wfastcgi.py】 的项目根目录指向地址,不要写错了。
- 接下来哦。要在IIS 根节点选中
- 进入【FastCGI】 中,【添加应用程序】
1 处填写 web.config 中scriptProcessor 第一段,2处填写 第二段
3处点击进入添加三个成员,内容是:
Name | Value |
|
|
|
你的站点根目录 |
|
自定义名称 .settings |
填写完成后确定,重启一下站点,然后运行发现没有样式加载成功,F12 后发现一片报红
接下来操作比较关键了
1.在项目的settings.py 中加入代码
- #*********************************发布IIS 必须添加的代码***************************************************
- SITE_ROOT = os.path.abspath(os.path.dirname(__file__))
- STATIC_URL = '/static/'
- STATIC_ROOT = os.path.join( SITE_ROOT, 'static')
- SITE_STATIC_ROOT = os.path.join( SITE_ROOT, 'local_static')
- # Additional locations of static files
- STATICFILES_DIRS = (
- # Don't forget to use absolute paths, not relative paths.
- ('', SITE_STATIC_ROOT),
- )
- #************************************************************************************
2. 在 settings.py 同级目录下添加名称为 local_static 的目录
3.在local_static 目录中添加web.config 内容如下
- <?xml version="1.0" encoding="utf-8"?>
- <configuration>
- <system.webServer>
- <!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
- <handlers>
- <clear/>
- <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
- </handlers>
- </system.webServer>
- </configuration>
最关键的一步,在项目根目录下面运行代码
- python manage.py collectstatic
然后刷新看看,是不是成了?
卧薪尝胆饮咖啡~~
IIS 部署 Python Django网站流程(受够了野路子)的更多相关文章
- iis部署python运行环境
IIS部署 1.启用或者关闭windows功能,选择安装CGI,我这里已经安装过了. 2.安装后重新打开IIS看到CGI 3.配置ISAPI和CGI限制 4.右上角添加,路径是python安装路径,注 ...
- IIS部署,发布网站
一.IIS部署 1.打开控制面板,选择 '程序' 2.程序和功能下,选择打开或关闭Windows功能 3.等待加载,选择Internet信息服务,勾选如下选项 在弹出的"windows功能& ...
- 使用Visual Studio 2017开发python,并在iis上部署Python Django
作为宇宙第一IDE,怎么可以不支持python开发呢? 1.Visual Studio Installer 扩展Python开发 开始菜单中打开Visual Studio Installer,点修改. ...
- IIS部署发布flask网站
先参考http://python.jobbole.com/87655/,会发现失败. 再参考https://blog.csdn.net/david_lee13/article/details/8198 ...
- 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识
---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...
- 部署python django程序
在一台新的服务器上x需要先安装python3 ,git , 等 安装python3 安装python3 之前博客写过 创建虚拟环境,我用的是venv https://docs.python.org/ ...
- IIS部署ASP.NET网站后提示只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态...
今天,在IIS上部署网站后,出现了下面错误: 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态.还请确保在应用程序配置的 <sy ...
- python django网站编程视频教程学习资料下载
“人生苦短,我用python”,学python的小伙伴应该都了解这句话的含义.但是,学python,你真正了了解强大的Django框架吗!?据说Django还是由吉普赛的一个吉他手的名字命名的呢,有木 ...
- 最新JetBrainsPyCharm自动部署Python(Django,tornado等)项目至远程服务器
每次开发Python项目时,对于所有Python开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行测试或者部署,本人最初开发也是这样,通过使用Xshell 5,WinSCP ...
随机推荐
- Swinject 源码框架(三):Object Scopes
Object Scopes 指定了生成的实例在系统中是如何被共享的. 如何指定 scope container.register(Animal.self) { _ in Cat() } .inObje ...
- AFNetworking 报3840
工作中遇到前后台交互,前端解析不了后端返回的数据格式 ,原因在于没有标准统一的请求格式 这是个坑,但是还是有办法修复 错误提示: Error Domain=NSCocoaErrorDomain Cod ...
- Java虚拟机执行引擎
执行引擎 关于执行引擎相关的部分, 在之前的博文里 Java内存区域中已经有所提及. 回顾一下: 也只有几个概念, JVM方法调用和执行的基础数据结构是 栈帧, 是内存区域中 虚拟机栈中的栈元素, 每 ...
- 转MVC3介绍
第一节:Asp.Net MVC3项目介绍 让我们先看一下,一个普通的Asp.Net MVC3项目的样例,如下图所示 跟WebFrom还是有区别的,如果你已经了解Asp.Net MVC2的话,那就感觉异 ...
- Day1 Excel基本知识
1. 数据分析过程 2. 2016增强版Excel 特性 科学管理,科学决策的工具 精细化,量化分析的工具 3. Excel 学什么? 计算机解决问题的思维(抽象) 数据分析的思路与方法 掌握技巧和方 ...
- 7.xamarin.android 发布签名与控制apk大小
概述 做了xamarin android 后大家想打包一个apk,发布给其他人使用本章我们将带领大家如何打包签名一个apk. 打包 对于VS2017 或者是VS MAC来说打包一个APK非常简单. 首 ...
- 剑指offer六十一之序列化二叉树(待补充)
一.题目 请实现两个函数,分别用来序列化和反序列化二叉树二.思路 三.代码 --------------------------------------------- 参考链接:
- 【DB2】关闭表的日志功能
2018.11.19 客户遇到一个问题,在import数据的时候,产生了大量的日志,客户的数据库是HADR模式,通过评估,这几张表是可以允许在备库上不查询的,表中的数据时临时的. 方案一:修改脚本,将 ...
- strcpy,memcpy,memset函数实现
strcpy 实现,只能拷贝字符串 char* strcpy(char* des,const char* source) { char* r=des; assert((des != NULL) &am ...
- windows下如何下载并安装Python
1.打开Python官网,点download中的windows(或者打开网址https://www.python.org/downloads/windows/) 2.下载exe后缀的可执行文件,根据自 ...