您可以將您的settings.py
分成多個設置文件,例如
[projectname]/
├── [projectname]/
│ ├── __init__.py
│ ├── settings/
│ │ │── base.py
│ │ │── development.py
│ │ │── production.py
│ ├── urls.py
│ └── wsgi.py
└── manage.py
您的base.py
包括您當前settings.py中的所有代碼。指定您development.py
(sqlite3的),並且在production.py
(PostgreSQL系統)不同的數據庫,並在每個
from .base import *
最後導入base.py
但並非最不重要,你必須知道哪些文件應該使用Django。添加
export DJANGO_SETTINGS_MODULE="projectname.settings.development"
你你的virtualenv的postactivate開發服務器和生產服務器上
export DJANGO_SETTINGS_MODULE="projectname.settings.production"
。別忘了
unset DJANGO_SETTINGS_MODULE
在您的預先激活。
更多的信息在這裏:http://www.marinamele.com/taskbuster-django-tutorial/settings-different-environments-version-control btw。有很多最佳實踐的偉大的教程
只需在開發機器上安裝PostgreSQL。這樣,您可以採取生產數據並在本地複製和調試問題。 – allcaps
在開發/測試和生產中使用不同的堆棧是一個壞主意。 Django不會爲你處理好數據庫之間的差異很大,所以你一定會遇到生產中不會發生的問題。 –
@mu_is_too_short,謝謝你的擡頭。我的測試也在服務器上完成,因此它與生產配置幾乎相同。同樣對於這個項目來說,模型非常簡單,所以我希望Django能夠管理。我會盡快注意問題,並儘快切換。我甚至認爲已經使用SQLite進行生產,以保持等價。 – texnic