當devserver啓動時,我需要執行一些代碼。Django:啓動devserver時執行一些代碼
此刻,我只是將代碼放入我的一個應用程序中的models.py
。
此解決方案有一個副作用:代碼在執行其他管理命令時執行,我想避免它。
更新:這將是可分發應用程序的一部分。我不希望用戶(實際開發人員)運行任何其他命令。他們應該只能使用runserver
命令。我也不想用我自己的實現來覆蓋runserver
命令。
更新時間:我models.py
看起來是這樣的:
from django.conf import settings
if settings.DEBUG: # I actually use another setting here, but it does not matter
run_my_code_in_a_daemon_thread()
我沒有任何實際的車型在這個文件中。所以,我的代碼只執行一次:當Django掃描來自INSTALLED_APPS的所有應用程序並導入它們的models.py
。
尼斯不知道有關管理命令.. – jro
我不想使用另一個命令或腳本,我需要代碼在devserver啓動時自動運行 –
@AndreyFedoseev你的代碼需要以某種方式啓動,所以你應該寫一個啓動器,或者你可以檢查你是否(我用'platform.node()'做,但有很多選項) – DrTyrsa