2010-07-10 57 views
16

背景:什麼時候應該使用django-admin.py verus manage.py?

當我運行django-admin.py loaddata example.json時出現此錯誤。 「ImportError:設置無法導入,因爲環境變量DJANGO_SETTINGS_MODULE未定義。」我理解這個問題。它需要DJANGO_SETTINGS_MODULE能夠訪問數據庫來執行此導入。之前我遇到過這個問題,並且我已經設法到目前爲止已經邁出了一步。

在閱讀文檔時,我發現manage.py是django-admin.py的包裝;它將項目置於sys.path並設置DJANGO_SETTINGS_MODULE環境。活泉!哇!我知道如何解決我的問題。

洙...... 爲什麼Django的documentation代碼示例演示子如loaddatadumpdata當使用django-admin.py而不是manage.py的?

回答

18

如果您設置DJANGO_SETTINGS_MODULE環境變量,則可以從任何工作目錄中使用django-admin.py,而您需要在項目目錄中使用./manage.py(或將其放在路徑中)。

使用virtualenv,並已通過DJANGO_SETTINGS_MODULE設置bin/activate,然後你可以使用django-admin.py

7

Why do the Django documentation code examples using django-admin.py instead of manage.py when demonstrating subcommands such as loaddata and dumpdata?

那麼,因爲這些腳本是相同的priciple,有差異,你已經提到。 Django文檔也提及

django-admin.py <subcommand> [options] 
manage.py <subcommand> [options] 

並排。通常你使用django-admin.py來啓動一個新的項目或應用程序,並使用manage.py來完成剩下的工作。

+1

我認爲這使得文檔更加混亂了經驗不足的用戶,我已經得到了約9個月,Django的工作。謝謝你的幫助! – citadelgrad 2010-07-11 00:58:54

相關問題