无法在我的计算机中启动django服务器

时间:2009-04-13 19:03:01

标签: django

我通过

导出了我的django项目的路径
$ export DJANGO_SETTINGS_MODULE=/Users/masi/Documents/Test/djangobook/ch3.settings

我运行不成功

$ 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服务器?

4 个答案:

答案 0 :(得分:3)

您的$DJANGO_SETTINGS_MODULE应该设置为ch3.settings。只需确保ch3应用也在$PYTHONPATH

例如,如果您的应用位于/Users/masi/Documents/Test/djangobook/,请将$DJANGO_SETTINGS_MODULE设置为ch3.settings,并确保$PYTHONPATH包含/Users/masi/Documents/Test/djangobook

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

答案 1 :(得分:1)

来自django-admin.py and manage.py上的django文档:

  

django-admin.py是Django用于管理任务的命令行实用程序。

     

此外,在每个Django项目中自动创建manage.py。 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

答案 2 :(得分:1)

对于那些遇到相同错误的人,在尝试运行类似的东西时:

python manage.py runserver --settings=settings_dev

当设置文件位于app目录中时,如下所示:

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

您不必指定$PYTHONPATH(至少不是四年)您只需要确保您的--settings值包含文件夹名称 - 您还需要使用点表示法,斜杠不会这样做。

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

导出$DJANGO_SETTINGS_MODULE值时的情况相同:

export DJANGO_SETTINGS_MODULE=mysite.settings_dev

可能会把我失去工作的时间拯救给别人。

答案 3 :(得分:0)

您也可以尝试manage.py

从项目目录中,运行

  

$ python manage.py runserver

即使它只是一个包装器,manage.py总是适用于我,而django-admin.py则不然。显然我们都做错了(我刚刚开始使用Django),但这应该让你至少开始。