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'(示例代