美文网首页
Django使用MySQL

Django使用MySQL

作者: 火麟腾 | 来源:发表于2019-05-09 13:28 被阅读0次

    说明:这是在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

          本文链接:https://www.haomeiwen.com/subject/syoioqtx.html