2017-06-06 41 views
-2

如何在使用pycharm時在django上下文中運行任意腳本?如何從pycharm在django上下文中運行腳本

在django上下文中運行一個arbirtary腳本可以很容易地開發後臺任務或做臨時查詢。標準答案是將腳本添加到自定義命令,但是,我不習慣於該工作流程,如果您不打算像這樣公開它,似乎是一個不必要的步驟。

這是一個問題和答案的帖子,因爲我無法在StackOverflow中的任何位置找到此技術,我認爲這會有所幫助。在我學習Django的第三個小時我想要一個答案。

回答

0

我剛剛開始與Django。可能有更好的方法,但我正在開發一些任務,這些任務最終將發送到芹菜,同時開發它們,我發現在django環境中快速運行它們很方便。我用pycharm

要做到這一點:

建立一個標準的Python運行環境,使腳本要執行的腳本。 添加一個環境變量DJANGO_SETTINGS_MODULE並將其設置爲您的settings.py的python導入路徑。例如,如果你的settings.py是一個目錄名爲MYAPP: DJANGO_SETTINGS_MODULE = myapp.settings

使工作目錄項目根 離開「添加內容根」 &「添加源根」複選框勾選。

在腳本中,在頂部加入以下兩行:

from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application() 

,現在你可以使用

if __name__ == "__main__": 

,你是關閉和運行。

或運行測試或其他。

這很容易,然後運行一個腳本,需要Django的背景:

PYTHONPATH=${PYTHONPATH}:. DJANGO_SETTINGS_MODULE=project.settings python dir1/dir2/myscript.py 

運行從普通的Django的根目錄。

信用評價:Stavros Korokithakis https://www.stavros.io/該職位:https://www.stavros.io/posts/standalone-django-scripts-definitive-guide/

相關問題