知道的,百度上搜出來的東西質量使人唏噓。當你求助的時候多半還得靠本身,或者靠Googlepython
介入正題,詳細來一遍流程吧web
固然,我是用Visual Studio 2019 來編輯開發Django項目的,若是你也是那麼巧了。這能夠幫你shell
若是你Django項目能夠在vs上運行,那麼關鍵的是能不能在項目根目錄跑起來,這個須要測試一下。django
先安裝wfastcgi模塊 app
pip install wfastcgi
安裝成功後,在你python 的根目錄 【Python\Lib\site-packages】下面找到 wfastcgi.py 文件,複製一份放在項目的根目錄下面便可。ide
在你項目根目錄下面 按住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 安裝對應的模塊便可ui
如今打開IIS 建立網站,根目錄能夠指向你項目根目錄,沒有關係。測試嘛,跑起來就好,規範的事情在規範的時候去作!this
接下來給你的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 |
WSGI_HANDLER |
django.core.wsgi.get_wsgi_application() |
PYTHONPATH |
你的站點根目錄 |
DJANGO_SETTINGS_MODULE |
自定義名稱 .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
而後刷新看看,是否是成了?
臥薪嚐膽飲咖啡~~