Django使用MySQL

说明:这是在python3.6.8+Django2.2的环境下的MySQL的使用


首先是去MySQL客户端去创建数据库,默认数据集设置为utf8

CREATE DATABASE IF NOT EXISTS dbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;


然后安装 mysqlclient 模块,通过 mysqlclient 模块完成和数据库之间的连接。

pip install mysqlclient


最后更改Django数据库配置

DATABASES = {

'default': {

'ENGINE':'django.db.backends.mysql',

        'NAME':'chatroom',

       'HOST':'127.0.0.1',

        'USER':'root',

        'PASSWORD':'password',

        'PORT':'3306',    }}


注意:安装pymysql模块,通过pymysql模块完成和数据库之间的连接,会出现以下两种错误

错误一:No module named 'MySQLdb'

原因:python3连接MySQL不能再使用mysqldb,取而代之的是pymysql。

解决方法:在python的MySQL包中,即路径:C:\Users\adong\AppData\Local\Programs\Python\Python36\Lib\site-packages\Django-2.0.3-py3.6.egg\django\db\backends\mysql

下的__init__.py文件中加入:

import pymysql

pymysql.install_as_MySQLdb()

错误二:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.3 or newer is required; you have 0.7.11.None

原因:在解决了错误一以后出现了此错误。

解决方法:在python的MySQL包中,即路径:C:\Users\adong\AppData\Local\Programs\Python\Python36\Lib\site-packages\Django-2.0.3-py3.6.egg\django\db\backends\mysql

下的 base.py 文件中,注释掉一下两行代码:

if version < (1, 3, 3):

    raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)

你可能感兴趣的:(Django使用MySQL)