[英]Django + WSGI: When is wsgi.py called?
我通過Apache2在服務器上部署了Django項目。
我的問題是我有兩個設置模塊: settings.py
是我的本地開發設置,而settingsprod.py
是我的生產設置。
我在WSGI.py中找到以下行:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settings")
僅在使用WSGI時才調用此模塊嗎? 如果是的話,這是使用我的生產設置的好地方嗎?
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settingsprod")
對於本地開發,我使用開發服務器是這樣的:
python3 manage.py runserver
那么這是否仍然默認為settings.py?
是的,您的設置可以按預期工作。 盡管如果您使用諸如芹菜之類的額外工具,則可能還需要為這些設置指定settingsprod
。
處理這種情況的方式與之完全相反:我將settings.py
用於生產設置,並具有一個用於所有開發任務的額外settings_development.py
。 這樣,我就不必記住在所有與生產相關的文件中設置生產設置,而只需使用開發設置進行開發,如下所示:
python3 manage.py runserver --settings=proj.settings_development
如果您經常使用manage.py命令並希望節省一些輸入時間,則可以復制manage.py
的副本(例如, manage_dev.py
並更改設置模塊行,如下所示:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settings_development")
然后使用以下命令調用管理功能:
python3 manage_dev.py runserver
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.