数据库配置不正确,Django+python+postgres

2024-10-02 22:32:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个登录页面上工作,它工作了,放弃了这个项目几个月,当我回到它时,我得到了这个错误:

设置。数据库配置不正确。请提供名称值

完全回溯

Traceback (most recent call last):
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\contrib\admin\sites.py", line 410, in login
    return LoginView.as_view(**defaults)(request)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\views\generic\base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\views\decorators\debug.py", line 89, in sensitive_post_parameters_wrapper
    return view(request, *args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\decorators.py", line 130, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\decorators.py", line 43, in _wrapper
    return bound_method(*args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\contrib\auth\views.py", line 63, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\views\generic\base.py", line 98, in dispatch
    return handler(request, *args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\views\generic\edit.py", line 141, in post
    if form.is_valid():
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\forms\forms.py", line 177, in is_valid
    return self.is_bound and not self.errors
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\forms\forms.py", line 172, in errors
    self.full_clean()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\forms\forms.py", line 375, in full_clean
    self._clean_form()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\forms\forms.py", line 402, in _clean_form
    cleaned_data = self.clean()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\contrib\auth\forms.py", line 215, in clean
    self.user_cache = authenticate(self.request, username=username, password=password)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\contrib\auth\__init__.py", line 73, in authenticate
    user = backend.authenticate(request, **credentials)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\contrib\auth\backends.py", line 42, in authenticate
    user = UserModel._default_manager.get_by_natural_key(username)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\contrib\auth\base_user.py", line 45, in get_by_natural_key
    return self.get(**{self.model.USERNAME_FIELD: username})
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\query.py", line 425, in get
    num = len(clone)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\query.py", line 269, in __len__
    self._fetch_all()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\query.py", line 1308, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\query.py", line 53, in __iter__
    results = compiler.execute_sql(chunked_fetch=self.chunked_fetch, chunk_size=self.chunk_size)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\models\sql\compiler.py", line 1154, in execute_sql
    cursor = self.connection.cursor()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\base\base.py", line 259, in cursor
    return self._cursor()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\base\base.py", line 235, in _cursor
    self.ensure_connection()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\base\base.py", line 219, in ensure_connection
    self.connect()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\utils\asyncio.py", line 26, in inner
    return func(*args, **kwargs)
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\base\base.py", line 199, in connect
    conn_params = self.get_connection_params()
  File "C:\Users\Zeyad\AppData\Local\Programs\Python\Python39\lib\site-packages\django\db\backends\postgresql\base.py", line 157, in get_connection_params
    raise ImproperlyConfigured(

Exception Type: ImproperlyConfigured at /admin/login/
Exception Value: settings.DATABASES is improperly configured. Please supply the NAME value.

我不确定数据库代码有什么问题,因此:

POSTGRES_HOST = os.environ.get('POSTGRES_HOST', default="")
POSTGRES_DB = os.environ.get('POSTGRES_DB', default="")
POSTGRES_USER = os.environ.get('POSTGRES_USER', default="")
POSTGRES_PASSWORD = os.environ.get('POSTGRES_PASSWORD', default="")


DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': POSTGRES_DB,
        'USER': POSTGRES_USER,
        'PASSWORD': POSTGRES_PASSWORD,
        'HOST': POSTGRES_HOST,
        'PORT': 5432, 
    }
}

我已经寻找了2个多小时的解决方案,但我没有发现任何问题,因为我已经提供了一个名字,如果有人能纠正我的错误,我将不胜感激


Tags: djangoinpyselflibpackageslocalline
1条回答
网友
1楼 · 发布于 2024-10-02 22:32:51

错误表明您没有为数据库设置NAME值。看看你的设置,你有

'NAME': POSTGRES_DB

并且POSTGRES_DB被定义为

POSTGRES_DB = os.environ.get('POSTGRES_DB', default="")

因此,最可能的问题是您没有设置POSTGRES_DB环境变量。这符合您的故事,即项目在之前工作,而在回来时不工作。您正在不同的环境中运行项目。您需要确保设置了所有必要的环境变量

相关问题 更多 >