知道的,百度上搜出来的东西质量令人唏嘘。当你求助的时候多半还得靠自己,或者靠Google

介入正题,详细来一遍流程吧

当然,我是用Visual Studio 2019 来编辑开发Django项目的,如果你也是那么巧了。这可以帮你

如果你Django项目可以在vs上运行,那么关键的是能不能在项目根目录跑起来,这个需要测试一下。

先安装wfastcgi模块

  1. pip install wfastcgi

安装成功后,在你python 的根目录 【Python\Lib\site-packages】下面找到 wfastcgi.py  文件,复制一份放在项目的根目录下面即可。

在你项目根目录下面 按住Shift 鼠标右键 菜单,点击 【 在此处打开powershell窗口】输入以下命令

  1. python manage.py runserver

出现

  1. PS E:\Git\GitRepository\CodeShitPro\DjangoWebProject> python manage.py runserver
  2. Performing system checks...
  3.  
  4. System check identified no issues (0 silenced).
  5.  
  6. You have 3 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth.
  7. Run 'python manage.py migrate' to apply them.
  8. December 29, 2018 - 13:37:18
  9. Django version 2.1.4, using settings 'DjangoWebProject.settings'
  10. Starting development server at http://127.0.0.1:8000/
  11. Quit the server with CTRL-BREAK.

如果出现跟这个一样那就恭喜你可以继续往后配置了。如果不行,那么pip 安装对应的模块即可

现在打开IIS 创建网站,根目录可以指向你项目根目录,没有关系。测试嘛,跑起来就好,规范的事情在规范的时候去做!

接下来给你的Django项目添加一个web.config 文件,内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <system.webServer>
  4. <handlers>
  5. <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" />
  6.  
  7. </handlers>
  8. </system.webServer>
  9. </configuration>

注:

  1. scriptProcessor 里面以 "|" 分割开的俩段内容,第一个是你python的根目录找到【python.exe 第二段是复制了【wfastcgi.py 的项目根目录指向地址,不要写错了。
  1. 接下来哦。要在IIS 根节点选中

  1. 进入【FastCGI 中,【添加应用程序】

1 处填写 web.config  中scriptProcessor 第一段,2处填写 第二段

3处点击进入添加三个成员,内容是:

Name   Value
  1. WSGI_HANDLER
  1. django.core.wsgi.get_wsgi_application()
  1. PYTHONPATH
你的站点根目录
  1. DJANGO_SETTINGS_MODULE
自定义名称 .settings
  1.  

填写完成后确定,重启一下站点,然后运行发现没有样式加载成功,F12 后发现一片报红

接下来操作比较关键了

1.在项目的settings.py 中加入代码

  1. #*********************************发布IIS 必须添加的代码***************************************************
  2. SITE_ROOT = os.path.abspath(os.path.dirname(__file__))
  3.  
  4. STATIC_URL = '/static/'
  5.  
  6. STATIC_ROOT = os.path.join( SITE_ROOT, 'static')
  7. SITE_STATIC_ROOT = os.path.join( SITE_ROOT, 'local_static')
  8.  
  9. # Additional locations of static files
  10. STATICFILES_DIRS = (
  11. # Don't forget to use absolute paths, not relative paths.
  12. ('', SITE_STATIC_ROOT),
  13. )
  14. #************************************************************************************

2. 在 settings.py 同级目录下添加名称为 local_static 的目录

3.在local_static  目录中添加web.config 内容如下

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <configuration>
  3. <system.webServer>
  4. <!-- this configuration overrides the FastCGI handler to let IIS serve the static files -->
  5. <handlers>
  6. <clear/>
  7. <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" resourceType="File" requireAccess="Read" />
  8. </handlers>
  9. </system.webServer>
  10. </configuration>

最关键的一步,在项目根目录下面运行代码

  1. python manage.py collectstatic

然后刷新看看,是不是成了?

卧薪尝胆饮咖啡~~

IIS 部署 Python Django网站流程(受够了野路子)的更多相关文章

  1. iis部署python运行环境

    IIS部署 1.启用或者关闭windows功能,选择安装CGI,我这里已经安装过了. 2.安装后重新打开IIS看到CGI 3.配置ISAPI和CGI限制 4.右上角添加,路径是python安装路径,注 ...

  2. IIS部署,发布网站

    一.IIS部署 1.打开控制面板,选择 '程序' 2.程序和功能下,选择打开或关闭Windows功能 3.等待加载,选择Internet信息服务,勾选如下选项 在弹出的"windows功能& ...

  3. 使用Visual Studio 2017开发python,并在iis上部署Python Django

    作为宇宙第一IDE,怎么可以不支持python开发呢? 1.Visual Studio Installer 扩展Python开发 开始菜单中打开Visual Studio Installer,点修改. ...

  4. IIS部署发布flask网站

    先参考http://python.jobbole.com/87655/,会发现失败. 再参考https://blog.csdn.net/david_lee13/article/details/8198 ...

  5. 使用Nginx+uwsgi在亚马逊云服务器上部署python+django项目完整版(二)——部署配置及相关知识

    ---恢复内容开始--- 一.前提: 1.django项目文件已放置在云服务器上,配置好运行环境,可正常运行 2.云服务器可正常连接 二.相关知识 1.python manage.py runserv ...

  6. 部署python django程序

    在一台新的服务器上x需要先安装python3  ,git , 等 安装python3 安装python3 之前博客写过 创建虚拟环境,我用的是venv https://docs.python.org/ ...

  7. IIS部署ASP.NET网站后提示只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态...

    今天,在IIS上部署网站后,出现了下面错误: 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态.还请确保在应用程序配置的 <sy ...

  8. python django网站编程视频教程学习资料下载

    “人生苦短,我用python”,学python的小伙伴应该都了解这句话的含义.但是,学python,你真正了了解强大的Django框架吗!?据说Django还是由吉普赛的一个吉他手的名字命名的呢,有木 ...

  9. 最新JetBrainsPyCharm自动部署Python(Django,tornado等)项目至远程服务器

    每次开发Python项目时,对于所有Python开发人员来说,最枯燥的不是修改代码,而是实时将自己的代码上传至远程服务器,进行测试或者部署,本人最初开发也是这样,通过使用Xshell 5,WinSCP ...

随机推荐

  1. Swinject 源码框架(三):Object Scopes

    Object Scopes 指定了生成的实例在系统中是如何被共享的. 如何指定 scope container.register(Animal.self) { _ in Cat() } .inObje ...

  2. AFNetworking 报3840

    工作中遇到前后台交互,前端解析不了后端返回的数据格式 ,原因在于没有标准统一的请求格式 这是个坑,但是还是有办法修复 错误提示: Error Domain=NSCocoaErrorDomain Cod ...

  3. Java虚拟机执行引擎

    执行引擎 关于执行引擎相关的部分, 在之前的博文里 Java内存区域中已经有所提及. 回顾一下: 也只有几个概念, JVM方法调用和执行的基础数据结构是 栈帧, 是内存区域中 虚拟机栈中的栈元素, 每 ...

  4. 转MVC3介绍

    第一节:Asp.Net MVC3项目介绍 让我们先看一下,一个普通的Asp.Net MVC3项目的样例,如下图所示 跟WebFrom还是有区别的,如果你已经了解Asp.Net MVC2的话,那就感觉异 ...

  5. Day1 Excel基本知识

    1. 数据分析过程 2. 2016增强版Excel 特性 科学管理,科学决策的工具 精细化,量化分析的工具 3. Excel 学什么? 计算机解决问题的思维(抽象) 数据分析的思路与方法 掌握技巧和方 ...

  6. 7.xamarin.android 发布签名与控制apk大小

    概述 做了xamarin android 后大家想打包一个apk,发布给其他人使用本章我们将带领大家如何打包签名一个apk. 打包 对于VS2017 或者是VS MAC来说打包一个APK非常简单. 首 ...

  7. 剑指offer六十一之序列化二叉树(待补充)

    一.题目 请实现两个函数,分别用来序列化和反序列化二叉树二.思路 三.代码 --------------------------------------------- 参考链接:

  8. 【DB2】关闭表的日志功能

    2018.11.19 客户遇到一个问题,在import数据的时候,产生了大量的日志,客户的数据库是HADR模式,通过评估,这几张表是可以允许在备库上不查询的,表中的数据时临时的. 方案一:修改脚本,将 ...

  9. strcpy,memcpy,memset函数实现

    strcpy 实现,只能拷贝字符串 char* strcpy(char* des,const char* source) { char* r=des; assert((des != NULL) &am ...

  10. windows下如何下载并安装Python

    1.打开Python官网,点download中的windows(或者打开网址https://www.python.org/downloads/windows/) 2.下载exe后缀的可执行文件,根据自 ...