【问题标题】:Unable to config django for mysql无法为 mysql 配置 django
【发布时间】:2017-10-14 15:23:29
【问题描述】:

我正在尝试将 Django 应用程序连接到 Windows 10 上的 MySQL。我已安装 mysqlclient 作为我的 Django 应用程序和 MySQL 之间的接口。每当我尝试打开 dbshel​​l 时,我都会收到类似这样的错误:-

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.

这是我的 setting.py 文件

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

我在 StackOverflow 上尝试过其他解决方案,但对我不起作用。 我还尝试从项目目录中删除 dbsqlite3 文件。 不同元素的版本如下:-

  1. Python (3.6)
  2. Django (1.11.4)
  3. mysqlclient (1.3.12)
  4. 点 (9.0.1)
  5. MySQL(5.7)

【问题讨论】:

  • 听起来错误在别的地方……你能正常运行manage.py shellmanage.py migratemanage.py runserver吗?
  • @efkin 是的,其他一切正常。
  • 您最近是否更改了manage.pymodels.pysettings.py
  • 这是我的新项目。我没有在里面写任何代码。我曾尝试过较旧的项目,但没有奏效。我所做的唯一更改是在 settings.py 文件中写入 MySQL 的 DATABASES 配置。
  • @efkin 我已经编辑了我的问题,现在发布了我的整个错误。看看你能不能想出点什么。

标签: python mysql django


【解决方案1】:

DJANGO_SETTINGS_MODULE 变量不可用。运行

python manage.py shell

如果你是 linux 用户并运行

python3 manage.py shell

当你使用python 3.6

【讨论】:

  • 我确实运行了该命令。打开python外壳。之后该怎么办?
  • 这将加载项目的设置。现在您可以再次运行 manage.py runserver 或 manage.py migrate。让我知道它是否有效
  • 其实就是打开python shell。我看不到设置。我想我在这里遗漏了一些东西
  • 按 ctrl+c 或退出 shell 并运行 python manage.py migrate
  • 运行该命令。结果如下:- 要执行的操作:应用所有迁移:admin、auth、contenttypes、sessions 运行迁移:没有要应用的迁移。
【解决方案2】:

最后,我解决了这个问题。我使用的是django-admin dbshell 命令而不是python manage.py dbshell

如果是windows,请在用户变量部分为MySQL设置环境变量,否则你会得到CommandError,说mysql没有安装。

对于 Ubuntu,请使用 python3 manage.py dbshell

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-19
    • 1970-01-01
    • 2021-08-25
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多