python3下django连接mysql数据库

Posted ColdCode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python3下django连接mysql数据库相关的知识,希望对你有一定的参考价值。

1、安装pymysql

pip install pymysql

有一点需要注意,有的系统(比如ubuntu16.04)同时安装了python2和python3,而比较新的django需要在python3下运行,所以在安装pymysql时可能要使用命令 pip3 install pymysql 进行安装。

2、修改项目settings.py

找到并修改DATABASES为如下形式:

DATABASES = {
    default: {
        ENGINE: django.db.backends.mysql, # 数据库引擎
        NAME: database_name, #数据库名称
        USER: root, # 链接数据库的用户名
        PASSWORD: your_password, # 链接数据库的密码
        HOST: 127.0.0.1, # mysql服务器的域名和ip地址
        PORT: 3306, # mysql的一个端口号,默认是3306
    }
}

接着使用命令 python manage.py runserver 启动django。

3、可能会遇到的问题

(1)django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: No module named ‘MySQLdb‘

出现此问题的原因是在python2中使用pip install mysql-python安装Mysql库后,使用命令 import MySQLdb 来引入模块;而在python3中,mysql库改为了pymysql,所以会出现找不到MySQLdb模块的错误。

解决办法:

在项目根目录下的__init__.py中添加以下内容即可:

import pymysql
pymysql.install_as_MySQLdb()

 

以上是关于python3下django连接mysql数据库的主要内容,如果未能解决你的问题,请参考以下文章

基于Python3.6使用Django框架连接mysql数据库的驱动模块安装解决办法

python3使用Django框架连接mysql(python3+Django+MySQL+pymysql)

No module named 'MySQLdb' python3.6 + django 1.10 + mysql 无法连接

Django项目与mysql交互进行数据迁移时报错:AttributeError: 'str' object has no attribute 'decode'(示例代

python3 django连接mysql,同步表结构

Django:Python3.6.2+Django2.0配置MySQL