windows運行django


以下可保證可以本地測試

http://www.apachelounge.com/安裝完整版apache, 裝載c盤
安裝python
安裝pip:curl獲取安裝腳本或直接下載安裝腳本來安裝pip, 然后把pip路徑設置到path
安裝mod_wsgi(先通過vs installer安裝整個c++欄目以及2015 vc++ 14.0 然后重啟):pip install mod_wsgi

安裝django, pip install Django==3.0.4
創建項目: django-admin startproject dj1
創建app: py manage.py startapp app1
開始寫代碼, 本地測試是py manage.py runserver

(重要!)連接mssql

  • 安裝這個包: pip install django-mssql-backend
  • 服務器內安裝odbc 13驅動(微軟官網)
  • 按照教程修改settings.py里的DATABASES,options默認即可(就是用odbc 13的驅動)

以下是正式環境配置

首先, 在項目目錄下的setting.py, 改動這兩行:

STATIC_URL = 'static/'
ALLOWED_HOSTS = ['sun-pc']

然后配置httpd.conf
pip install mod_wsgi, 安裝好以后, 通過命令行獲得3行配置
參考如下配置, 放入到apache的conf

# 裝載mod st (版本號根據情況改)
LoadFile "c:/users/administrator/appdata/local/programs/python/python37/python37.dll"
LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python37/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win_amd64.pyd"
WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python37"
# 裝載mod ed
# 設置要運行Python的目錄(與apache下其他正常目錄隔開)
WSGIPythonPath D:/ingrid/dj1
# 設置上面這個目錄訪問時的別名, 以及wsgi配置文件的路徑
WSGIScriptAlias /dj1 D:/ingrid/dj1/dj1/wsgi.py application-group=%{GLOBAL}
#設置靜態文件路徑(前半部分是django生成的路徑, 而后半部分的實際文件夾的路徑)
Alias /dj1/app1/static D:/ingrid/dj1/app1/static

說明

網上的文檔, 配置的都是整個站點只運行python時的配置. 而我上面的配置, 是基於站點已經存在一個網站的情況下,
再單獨設置某個文件夾運行python服務. 因此無需設置各種目錄權限. 但是必須根據實際情況做修改, 比如要改項目下的settings

關於靜態文件路徑

靜態文件位於app1/static,比如app1/static/app1/1.css,django官方推薦使用{% static 'app1/1.css' %}來生成路徑
在開發模式下django自帶的開發服務器會處理生成的路徑, 讓程序可以訪問到靜態文件
但是線上使用apache的話,生成的路徑必須再加一個別名來實現訪問,也就是上文配置文件最后一行
原理就是wsgi模塊並不會像開發服務器那樣“智能”:當你訪問這個路徑的時候,由於路徑位於dj1下,因此被django接管,但是又不屬於urls.py定義過的路徑, 因此無法訪問
解決方案就是在配置文件內定義別名,強行讓apache重新接管該路徑,讓該路徑重新變為“正常”模式(訪問路徑和實體文件夾的路徑一致)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM