![](/img/trans.png)
[英]trying to setup mysql on ubuntu for django but getting error 'django.db.utils.OperationalError: (1046, 'No database selected')'
[英]Error trying to setup mysql with django
我是django的新手,正在嘗試將其與mysql連接。 我之前從未使用過設置環境變量的方法,當我運行django-admin dbshell時,對於這個錯誤我有點困惑
(venv) dhcp-ccc-12919:project user$ django-admin dbshell
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.5/bin/django-admin", line 11, in <module>
sys.exit(execute_from_command_line())
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/core/management/__init__.py", line 371, in execute_fr
om_command_line
utility.execute()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/core/management/__init__.py", line 365, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/core/management/base.py", line 288, in run_from_argv
self.execute(*args, **cmd_options)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/core/management/base.py", line 327, in execute
saved_locale = translation.get_language()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/utils/translation/__init__.py", line 187, in get_lang
uage
return _trans.get_language()
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/utils/translation/__init__.py", line 55, in __getattr
__
if settings.USE_I18N:
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/__init__.py", line 56, in __getattr__
self._setup(name)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/django/conf/__init__.py", line 41, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You must either define the environment v
ariable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
我的數據庫設置是
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'todo',
'USER': 'root',
'PASSWORD': 'password'
}
}
以下可以幫助我使用Mysql設置Django。
步驟1:如果尚未安裝pymysql,請安裝。 對於Windows,請使用以下命令:
easy_install.exe pymysql
步驟2:在頂部的settings.py中編寫以下命令
import pymysql
pymyql.install_as_MySQLdb()
然后在settings.py中按如下所示更改數據庫設置,
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '<database_name>',
'USER': '<mysql_username>',
'PASSWORD' : '<password>',
'HOST' : 'localhost',
'PORT' : '3306',
}
}
您可以通過以下方式測試來自django shell的mysql連接,
python manage.py shell
>>>from django.db import connection
>>> cursor = connection.cursor()
如果上面沒有輸出,則表明mysql安裝正確。
希望它對您有用。 讓我知道您是否需要其他幫助。
您應該使用manage.py
而不是django-admin
,因為這會為您設置DJANGO_SETTINGS_MODULE變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.