2017-10-14 52 views
1

我试图在Windows 10上将Django应用程序连接到MySQL。我已经安装mysqlclient作为我的Django应用程序和MySQL之间的接口。每当我试图打开dbshel​​l我收到提示是这样的: -无法为mysql配置django

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' 
    } 
} 

我曾尝试在计算器上其他解决方案,但它没有工作为了我。 我也尝试从项目目录中删除dbsqlite3文件。是 版本为不同的元素,如下所示: -

  1. 的Python(3.6)
  2. Django的(1.11.4)
  3. 的mysqlclient(1.3.12)
  4. PIP(9.0.1)
  5. MySQL(5.7)
+0

听起来像错误是别的地方...你能正常运行'manage.py shell'或'manage.py migrate'或'manage.py runserver'? – efkin

+0

@efkin是其他一切工作正常。 – Scorpionk

+0

你最近是否改变过'manage.py'或你的'models.py'或你的'settings.py'? – efkin

回答

0

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

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

对于Ubuntu的使用python3 manage.py dbshell

0

DJANGO_SETTINGS_MODULE变量不可用。运行

python manage.py shell 

如果Linux用户和运行

python3 manage.py shell 

你用python 3.6

+0

我确实运行了该命令。打开python shell。现在该怎么办? – Scorpionk

+0

这将加载项目的设置。现在您可以再次运行manage.py runserver或manage.py migrate。让我知道它是否有效 –

+0

实际上,它是打开python shell。我看不到设置。我想我在这里丢失了一些东西 – Scorpionk