django之配置使用MySQL数据库及其兼容性问题

一、修改settings.py中的默认数据库配置

DATABASES = {
    # 'default': {
    #     'ENGINE': 'django.db.backends.sqlite3',
    #     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    # }
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'bbs',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': 3306
    }
}

二、下载mysql调用模块(pymysql、mysqlclient)

  django是通过ORM模型,调用第三方接口,将python Model类转化为数据表,所以需要下载第三方模块。

三、使用第三方MySQL接口

  建议:django2的用户下载pymysql;django3的用户下载mysqlclient

  django3如果使用pymysql,就会出现兼容性错误

ImproperlyConfigured: mysqlclient 1.3.13 or newer is required

  如果使用了pymysql还要加一项配置,使用mysqlclient就不用

  在与项目名同名的包的__init__.py文件中添加

import pymysql


pymysql.install_as_MySQLdb()

  至于修改源码等别的方式,不建议这样做。

四、参考

  1.https://www.jianshu.com/p/c44b0c88fafe

原文地址:https://www.cnblogs.com/loveprogramme/p/12397756.html