簡體   English   中英

嘗試使用Django設置mysql時出錯

[英]Error trying to setup mysql with django

我是django的新手,正在嘗試將其與mysql連接。 我之前從未使用過設置環境變量的方法,當我運行django-admin dbshel​​l時,對於這個錯誤我有點困惑

(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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM