25

继我的上一个问题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'

有关如何解决此问题并让我的本地主机运行的任何帮助?

4

3 回答 3

16

来自 django文档

Django 设置文件包含 Django 安装的所有配置。当你使用 Django 时,你必须告诉它你正在使用哪些设置。通过使用环境变量DJANGO_SETTINGS_MODULE.

的值DJANGO_SETTINGS_MODULE应采用 Python 路径语法,例如mysite.settings. 请注意,设置模块应位于 Python 导入搜索路径中。

ROOT_URLCONF

默认值:未定义

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

于 2012-10-11T12:14:05.543 回答
4

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

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

from django.conf import settings

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

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

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

于 2018-10-21T10:33:17.230 回答
4

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

于 2021-05-12T17:01:10.880 回答