Django專案production環境發布筆記。

2021-08-23 13:00:30 字數 1185 閱讀 4124

這裡使用apache2 + mod_python, 安裝忽略, 另外需要到你部署的機子上安裝django 和 mysqldb,(我用的ubuntu server,裝上之後 apache2, mod_python, mysqldb 都已經有了, 裝個django就好了。 )

其實配置蠻簡單的, 修改/etc/apache2/httpd.conf, 加入以下片段。

alias /site_media /home/denny/zoomino/website/zoomino_media

sethandler python-program

pythonhandler django.core.handlers.modpython

setenv django_settings_module zoomino.settings

# pythonoption django.root /

pythondebug on

pythonpath "sys.path +['/home/denny']"

sethandler none

專案位於/home/denny,這裡要注意pythonpath, 這裡不是設定/home/denny/zoomino而且project dir的上一級目錄, 也就是你執行django-admin.py startproject的當前目錄。如果你想在開發的時候自動定位你的template dir,請看這篇文章[url]

django雖然把可以處理靜態檔案,但是django內建的web server很差,所以發布的時候需要用apache這樣的handle。alias /site_media /home/denny/zoomino/website/zoomino_media 這句定義資源檔案的路徑和對映的url。

然後我們把django專案對映到根url「/」上。 因為我把django對映到了根上, 所以最後一段肯定要加,要不然資源檔案會被django handle了那肯定是要報錯的。

ok,最後把settings.py的debug設成false, 重啟apache就行了。

如何在開發的時候處理靜態檔案請看。 [url] 再結合我的這篇文章[url]定位你的static files就完美了。

參考:[url]

[url]

[url]

安裝apache mod-python

[url]

itertools模組中的product方法

itertools.product iterables repeat 笛卡爾積 建立乙個迭代器,生成表示item1,item2等中的專案的笛卡爾積的元組,repeat是乙個關鍵字引數,指定重複生成序列的次數。如下 def product args,kwds product abcd xy ax ay...

itertools模組中的product方法

itertools模組中的product方法 itertools.product iterables repeat 笛卡爾積 建立乙個迭代器,生成表示item1,item2等中的專案的笛卡爾積的元組,repeat是乙個關鍵字引數,指定重複生成序列的次數。如下 1 def product args,k...

django專案(建立專案)

django admin startproject django demo 在專案中的settings.py中註冊應用 django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessio...