2011-07-25 79 views
0

內置的Django開發服務器,我得到: (紅色字母)

Error: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.

在以前的版本

(Python 2.5的, Django 1.2)我從來沒有這個問題。 我試着手動設置設置模塊,然後告訴我把它放在sys.path上。一旦我使用python解釋器在bash中設置sys路徑,我將它關閉,它會從sys.path中消失?我使用OSX 10.7的Apache 2.2.19和python 2.7.1開箱即用。用盡想法。幫幫我!!

回答

2

其實我想通了。對於那些已經變得像我一樣健忘的人,你必須通過在它的前面添加python來將這些變量傳遞給shell。

python manage.py runserver 

沒有在它前面的python shell不知道從哪裏發送它。

4

爲什麼人們一直試圖用django-admin.py運行devserver?這在哪裏記錄?

正確的做法是用manage.py

+0

https://docs.djangoproject.com/en/dev/ref/django-admin/#runserver-port-or-address-port ......經驗Djangoer知道manage.py基本上是Django的包裝-admin.py包含項目設置,所以你應該實際使用manage.py,但我可以看到新手用戶如何被文檔弄糊塗。應該在文檔中增加一些說明。 –

+0

嗯,其實該文檔做,你應該取代manage.py爲django-admin.py在許多情況下的狀態,但他們在一份簡短的兩句話,在最高層這樣做。大多數尋找特定管理命令的人可能永遠不會看到這一點。我一開始也沒有。 –

1

如果您有更多的自定義設置(即設置文件不稱爲settings.py,或者您有多個設置文件並希望在它們之間切換),您必須使用django-admin.py來啓動devserver, 。

當您使用django-admin.py你必須讓它知道你的項目是什麼,設置文件使用給它兩個額外的命令行參數。

例如:/path/to/myproject

設置文件:

你的項目存在/path/to/myproject/site1.py

django-admin.py runserver --pythonpath=/path/to/myproject --settings=site1