我正在開發一個django項目,並且我有一個名爲runthis.py的獨立腳本。這個腳本處理數據庫中的數據,所以它調用了很多django Model類。像從Model.models導入模型一樣。但要在獨立腳本中執行此操作,必須使用導出DJANGO_SETTINGS_MODULE = App.settings設置DJANGO_SETTINGS_MODULE env變量。這很容易在終端做,但我想將它在腳本本身...試圖在需要它的python腳本中定義DJANGO_SETTINGS_MODULE時的問題
這裏是我的代碼:
# runthis.py
import os
os.system("export DJANGO_SETTINGS_MODULE=App.settings")
from Model.models import Model # AN ERROR HAPPENS HERE
這裏是我的錯誤:
django.core.exceptions.ImproperlyConfigured:請求的設置 DATABASES,但設置未配置。在訪問設置之前,您必須定義 環境變量DJANGO_SETTINGS_MODULE或調用 settings.configure()。
任何提示?這背後的想法是,runthis.py腳本需要在cron工作上。我不知道如何在crontab -e中導出env變量,所以我只是想方便地將它放入.py腳本本身。
任何建議將是驚人的,謝謝。
你看看寫一個[自定義管理命令](https://docs.djangoproject.com/en/dev/howto/custom-management-commands/)。 「自定義管理命令對於運行獨立腳本或從UNIX crontab或Windows計劃任務控制面板定期執行的腳本特別有用。」 –