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

Jes*_*ess 17 python django settings localhost attributeerror

继我的上一个问题之后错误:没有名为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'
Run Code Online (Sandbox Code Playgroud)

有关如何解决此问题并使我的localhost运行的任何帮助?

def*_*fuz 9

来自django docs:

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

DJANGO_SETTINGS_MODULE应该是Python路径语法,例如mysite.settings.请注意,设置模块应位于Python导入搜索路径中.

ROOT_URLCONF

默认值:未定义

一个字符串,表示根URLconf的完整Python导入路径.例如:"mydjangoapps.urls".可以通过在传入的HttpRequest对象上设置属性urlconf,在每个请求的基础上覆盖.请参阅Django如何处理详细请求.

  • 我的设置文件为 ROOT_URLCONF = 'mysite.urls'。那是对的吗?抱歉,如果这是一个非常简单的问题 - 这是我第一次遇到这个问题。我相信我已经正确设置了所有内容,但我仍然看到上面发布的错误,当我转到本地主机时,出现错误,提示“发生服务器错误”。请联系管理员。再次感谢你的帮助。 (3认同)
  • 感谢您的回答。我已经将 DJANGO_SETTINGS_MODULE 设置为 mysite.settings 并按照文档进行操作,但它仍然导致错误。这就是为什么我不确定出了什么问题。 (2认同)

小智 7

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


小智 5

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

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

from django.conf import settings

settings.configure(
# ...
    ROOT_URLCONF=__name__,
# ...
    ),
)
Run Code Online (Sandbox Code Playgroud)

其作用是指定项目的根目录runserver知道在哪里可以找到您的项目。

如果有settings.py文件,则找到该变量并添加__name__到其中。

  • 当我使用代码块时,我收到“运行时错误:设置已配置”。 (3认同)