2009-04-13 77 views
2

我通過無法啓動Django的服務器在我的電腦

$ export DJANGO_SETTINGS_MODULE=/Users/masi/Documents/Test/djangobook/ch3.settings 

出口我的Django項目的路徑我運行不成功

$ django-admin.py runserver 
Error: Could not import settings '/Users/masi/Documents/Test/djangobook/ch3.settings' (Is it on sys.path? Does it have syntax errors?): Import by filename is not supported. 

你如何開始Django的服務器沒有錯誤消息?

回答

3

您的$DJANGO_SETTINGS_MODULE應該只設置爲ch3.settings。只要確保ch3應用程序也位於您的$PYTHONPATH中。

例如,如果您的應用程序是在/Users/masi/Documents/Test/djangobook/,然後設置$DJANGO_SETTINGS_MODULEch3.settings,並確保您的$PYTHONPATH包括/Users/masi/Documents/Test/djangobook

$ export PYTHONPATH=/Users/masi/Documents/Test/djangobook/ 
$ export DJANGO_SETTINGS_MODULE=ch3.settings 
+0

@mipadi:我試圖通過將代碼放到我的.bashrc中來使PATH永久不成功。我嘗試了有和沒有PATH的代碼。 – 2009-04-13 20:37:34

+0

如果您使用OS X,請注意PATH變量應該設置在〜/ .bash_profile – 2009-04-13 20:58:50

0

您還可以嘗試manage.py

從您的項目目錄,運行

$ python manage.py runserver

即使它只是一個包裝,manage.py總是對我的作品,而django-admin.py沒有。顯然,我們都做錯了事(我剛剛開始使用Django),但這應該至少讓你至少。

1

從Django文檔上django-admin.py and manage.py

django-admin.py是Django的管理任務的命令行實用程序。

另外,manage.py會在每個Django項目中自動創建。 manage.py是圍繞django-admin.py薄的包裝,需要照顧的兩件事情對你委託給django-admin.py前:

  • 它把你的項目的包放在sys.path中。
  • 它設置DJANGO_SETTINGS_MODULE環境變量,以便它指向您項目的settings.py文件。

通常,在單個Django項目上工作時,使用manage更容易。PY

所以,如果你的目錄結構如下:

djangobook/ 
    ch3/ 
     settings.py 

執行下列操作,您可以忽略所有DJANGO環境變量(除非你有一些非常奇怪的安裝):

$ cd /Users/masi/Documents/Test/djangobook/ch3/ 
$ python manage.py runserver 
1

對於那些遇到同樣錯誤的人,當試圖運行類似的東西時:

python manage.py runserver --settings=settings_dev 

當設置文件是一個應用程序目錄中,像這樣:

mysite/ 
    settings.py 
    settings_dev.py 
requirements.txt 
manage.py 

您不必指定$PYTHONPATH(至少不是四年),你只需要確保你的--settings值包含文件夾名稱—你還需要使用點符號,斜槓不會這樣做。

export DJANGO_SETTINGS_MODULE=mysite.settings_dev 

可能挽救別人,我失去了工作,走出時間:

python manage.py runserver --settings=mysite.settings_dev 

它導出$DJANGO_SETTINGS_MODULE值時,同樣的故事。