前面的章節咱們完成了基本的業務功能的開發,本章節咱們來講說python django項目如何部署到實際的運行環境,完成開發系統的發佈工做。python
Python Django 項目部署發佈到windows iis環境,運行環境以下:mysql
操做系統:windows 8.1web
IIS版本:8.5sql
Python版本:2.7數據庫
Django版本:1.4apache
在操做系統的啓用或關閉windows功能裏添加IIS CGI組件,如已添加忽略。django
打開IIS管理器時,系統會提示以下圖,選擇是:windows
或者訪問網址:http://www.microsoft.com/web/downloads/platform.aspx,進入web安裝平臺程序,搜索FastCGI關鍵字。oracle
安裝WFastCGI2.1Gateway for IIS and Python 2.7.9組件,安裝完成後在C:\Python27\Scripts\目錄下會增長wfastcgi.py文件。app
把項目文件拷貝到C:\inetpub\wwwroot\mysite目錄下,同時,複製wfastcgi.py到本目錄下。
咱們把項目文件拷貝到IIS 的wwwroot目錄下,建立IIS站點,以下圖:
筆者注:IIS的項目發佈目錄最好在wwwroot下,能夠避免不少windows權限問題。
另外拷貝文件後,注意修改setting.py裏的數據庫目錄。
DATABASES = { 'default': { # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'. 'ENGINE': 'django.db.backends.sqlite3', # Or path to database file if using sqlite3. 'NAME': 'C:\\inetpub\\wwwroot\\mysite\\MyDB.db', # Not used with sqlite3. 'USER': '', # Not used with sqlite3. 'PASSWORD': '', # Set to empty string for localhost. Not used with sqlite3. 'HOST': '', # Set to empty string for default. Not used with sqlite3. 'PORT': '', } }
IIS 管理器中選擇站點mysite,選中該站點的「處理程序映射」設置。
在「處理程序映射」設置中,右鍵選擇「添加模塊映射」菜單。
輸入完配置信息,點擊「請求限制(R)…」,確保映射tab頁CheckBox不被選中。
而後,點擊兩次「肯定」按鈕,系統會彈出以下提示框:
「要爲此可執行文件建立 FastCGI 應用程序嗎? 單擊「是」將此項添加到 FastCGI 集合中,以及容許此可執行文件做爲 FastCGI 應用程序運行。」
點擊[是]
<?xml version="1.0" encoding="UTF-8"?> <!-- Generated web.config for Microsoft Azure. Remove this comment to prevent modifications being overwritten when publishing the project. --> <configuration> <appSettings> <add key="WSGI_HANDLER" value="django.core.wsgi.get_wsgi_application()" /> <add key="PYTHONPATH" value="%ROOTDIR%" /> <add key="DJANGO_SETTINGS_MODULE" value="mysite.settings" /> </appSettings> </configuration>
完成部署,在IIS管理器中從新啓動mysite站點。
咱們訪問基於模板的頁面,頁面是能正常訪問的,可是訪問基於Extjs的inventoryQueryExtjs頁面,頁面不能正常顯示。這是Extjs相關的靜態文件目錄沒有正常部署的緣故。
根據setting.py靜態文件目錄的配置,咱們項目目錄下建立一個static的文件目錄
在cmd命令窗口進入到項目目錄下,執行命令:
python manage.py collectstatic
而後,在iis管理器mysite站點下添加static虛擬目錄:
注:最後刪除虛擬目錄處理程序映射中的Django handler處理器。
咱們再訪問網站的inventoryQueryExtjs頁面,頁面正常顯示,如今完成了示例網站的IIS發佈工做。
本章節咱們完成了在IIS平臺部署咱們的django項目,採用的是「處理程序映射」的Fast CGI來實現django項目的解析處理。下一章節咱們將描述如何部署django 的windows apache平臺。