我想将MySQL数据库连接到我的Django项目,但它抛出了一个错误:

"django.core.exceptions.ImpartlyConfiguring:请求的设置 使用_i18n,但未配置设置.您必须定义 环境变量DJANGO_SETTINGS_MODULE或调用 settings.configure(),然后再访问设置."

Trace:

 (myenv) LIBINGLADWINs-MacBook-Air:libinrenold$ django-admin dbshell
Traceback (most recent call last):
  File "/Users/libinrenold/Desktop/djangoworks/myenv/bin/django-admin", line 11, in <module>
    sys.exit(execute_from_command_line())
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/django/core/management/base.py", line 322, in execute
    saved_locale = translation.get_language()
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/django/utils/translation/__init__.py", line 195, in get_language
    return _trans.get_language()
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/django/utils/translation/__init__.py", line 59, in __getattr__
    if settings.USE_I18N:
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
    self._setup(name)
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/django/conf/__init__.py", line 39, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

settings.py

  DATABASES = {
        'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'user',
        'PASSWORD': 'root',
        'HOST':'',
        'PORT': '',
        }
     }

推荐答案

您必须定义相关变量以显示您的settings.py文件所在的位置:

export DJANGO_SETTINGS_MODULE=mysite.settings

这是相关的docs条目:

当你使用Django时,你必须告诉它你在使用哪些设置.

DJANGO_SETTINGS_模块的值应该是Python路径语法,

如果使用的是virtualenv(这是最佳实践),则可以将相关export命令粘贴到文件<path-to-virtualenv>/bin/activate

Django相关问答推荐

为什么当对字段使用自定义序列化器时,Django Rest框架中Inbox字段会消失?

查尔而不是瓦尔查尔加盟Django 球场

通过在其他查询中使用来过滤对象

如何根据状态计算表中数据的数量?

dj_rest_auth 中的 PyTest 警告- RemovedInDjango40Warning: django.conf.urls.url() 已弃用,取而代之的是 django.urls.re_path()

Playframework 和 Django

根据模型属性获取django对象id

将网络测功机添加到 Heroku django 应用程序时如何克服Coudn't find that formation错误?

magic有什么问题?

Ruby on Rails 会影响网页的外观吗?

django - pisa:将图像添加到 PDF 输出

Django 不调用模型清理方法

如何在 Django 和 django-jsonfield 中将 JSONField 的默认值设置为空列表?

Django - 配置不当:模块django.contrib.auth.middleware

如何从 Django 的 TabularInline 管理视图中省略对象名称?

如何在保存之前更改 Django 表单字段值?

Django查询否定

Django将整数模型字段的范围设置为约束

Django:在模块中实现 status字段的最佳方式

如何使用 Django/nginx 部署仅限 HTTPS 的站点?