AttributeError:'Settings'对象没有属性'ROOT_URLCONF'

时间:2012-10-11 12:10:12

标签: python django settings localhost attributeerror

继我上一期Error: No module named psycopg2.extensions之后,我已将我的mac OS更新为Mountain Lion并安装了Xcode。我还使用' sudo port install py27-psycopg2'安装了psycopg2。我现在正试图运行' python manage.py runserver'但是我收到了这个错误

AttributeError: 'Settings' object has no attribute 'ROOT_URLCONF'

有关如何修复此问题以及运行本地主机的任何帮助吗?

3 个答案:

答案 0 :(得分:9)

来自django docs

  

Django设置文件包含Django安装的所有配置。   当您使用Django时,您必须告诉它您正在使用哪些设置。   通过使用环境变量DJANGO_SETTINGS_MODULE来执行此操作。

     

DJANGO_SETTINGS_MODULE的值应该是Python路径语法,   例如mysite.settings。请注意,设置模块应该在   Python导入搜索路径。

  

ROOT_URLCONF

     

默认值:未定义

     

表示根目录的完整Python导入路径的字符串   URL配置。例如:“mydjangoapps.urls”。可以覆盖一个   通过在传入上设置属性urlconf来按请求进行   HttpRequest对象。有关详细信息,请参阅How Django processes a request

答案 1 :(得分:1)

如果您使用多个设置文件,请确保导入所有其他设置文件中的基本设置。这就是我收到此错误的方式。

答案 2 :(得分:0)

如果您正在处理Django项目,则ROOT_URLCONF=文件中未定义项目的根目录(settings.py),或者至少未正确定义。 / p>

如果您没有settings.py文件,此代码段应解决此问题:

from django.conf import settings

settings.configure(
# ...
    ROOT_URLCONF=__name__,
# ...
    ),
)

要做的是指定项目runserver的根目录,知道在哪里可以找到您的项目。

如果确实有一个settings.py文件,请找到该变量并将其添加__name__