当前位置: 首页 > 面试题库 >

Django DB设置“配置不正确”错误

步弘和
2023-03-14
问题内容

Django(1.5)对我来说很好用,但是当我启动Python解释器(Python 3)进行检查时,尝试导入时会遇到最奇怪的错误from django.contrib.auth.models import User--

Traceback (most recent call last):
  File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 36, in _setup
    settings_module = os.environ[ENVIRONMENT_VARIABLE]
  File "/usr/lib/python3.2/os.py", line 450, in __getitem__
    value = self._data[self.encodekey(key)]
KeyError: b'DJANGO_SETTINGS_MODULE'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.2/dist-packages/django/contrib/auth/models.py", line 8, in <module>
    from django.db import models
  File "/usr/local/lib/python3.2/dist-packages/django/db/__init__.py", line 11, in <module>
    if settings.DATABASES and DEFAULT_DB_ALIAS not in settings.DATABASES:
  File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 52, in __getattr__
    self._setup(name)
  File "/usr/local/lib/python3.2/dist-packages/django/conf/__init__.py", line 45, in _setup
    % (desc, ENVIRONMENT_VARIABLE))

django.core.exceptions.ImproperlyConfigured: Requested setting DATABASES, 
  but settings are not configured. You must either define the environment 
  variable DJANGO_SETTINGS_MODULE or call settings.configure() 
  before accessing settings.

当它在Python解释器之外可以正常工作时,如何对其进行不正确的配置?在我的Django设置中,DATABASES设置为:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'django_db', # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'zamphatta',
        'PASSWORD': 'mypassword91',
        'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '', # Set to empty string for default.
    }
}

…这是如何配置不正确的?


问题答案:

你不能只启动Python并检查内容,Django不知道你要处理哪个项目。你必须执行以下操作之一:

  • 采用python manage.py shell
  • 使用django-admin.py shell --settings=mysite.settings(或你使用的任何设置模块)
  • DJANGO_SETTINGS_MODULE操作系统中的环境变量设置为mysite.settings
  • (在Django 1.6中已将其删除)setup_environ在python解释器中使用:
from django.core.management import setup_environ
from mysite import settings

setup_environ(settings)

自然,第一种方法是最简单的。



 类似资料:
  • 我写了一个django网络应用程序,现在我需要把它翻译成英语。我遵循了文档,但我不断收到这个奇怪的错误: 在/i18n/setlang/settings处配置不正确。数据库配置不正确。请提供ENGINE值。有关详细信息,请查看设置文档。请求方法:POST请求URL:http://192.92.149.139:8000/i18n/setlang/Django版本:2.0.3异常类型:配置不正确的异常

  • 问题内容: 我正在尝试设置包括一些基本设置的多个设置文件(开发,生产等)。虽然无法成功。当我尝试运行时,出现以下错误: 这是我的设置模块: 基本设置(包含SECRET_KEY): 设置文件之一: 代码在manage.py: 如果添加到(否则为空),它会神奇地开始工作,但我不明白为什么。任何人都可以向我解释这是怎么回事?它一定是一些python模块魔术。 编辑:如果我从base.py删除此行,一切也

  • 我无法正确获取此持久性文件...我在书中找不到任何更多的资料可供我参考。我用的是MySQL数据库。 编辑 严重:部署应用程序[VaadEntertainapp]时出现异常 Severe:org.xml.sax.SAXParseException:cvc-complex-type.2.4.a:发现以元素“provider”开头的内容无效。应为“{”http://java.sun.com/xml/ns

  • 我正试图在我的Fedora 22上安装MATLAB。最后,我得到一个错误 应用程序遇到意外错误,需要关闭。您可能需要尝试重新安装产品。更多信息可以在 /tmp/mathworks_root.log找到 当我查看mathworks_root.log文件时,我发现在安装步骤中未正确设置Java Home Java Home /tmp/mathworks_32206/sys/java/jre/glnxa

  • 在浏览器控制台日志中: 如何解决这个问题。 我试图通过删除并重新添加Auth“amplify Auth remove”、“amplify Auth add”,然后是“amplify update api”和“amplify push”来修复它,但这并没有什么不同。 在"C:\myproject\放大\backend\auth"中,身份验证桶的目录包含parameters.json,在我看来没问题。

  • 问题内容: 我阅读了所有可能的解决方案,但没有一个可行。我下载了蚂蚁并将其放入(所以有) 在Windows 7的系统变量下,我有一个名为ANT_HOME的变量,其值 以及带有值的称为PATH的变量 当我尝试使用cmd(命令提示符)时 我懂了 ANT_HOME设置不正确或找不到蚂蚁。请设置ANT_HOME。 另外,如果我尝试 我懂了 我尝试了PATH = %PATH%;%ANT_HOME%\ bin