您的位置:首页 > 数据库 > MariaDB

Python3和Django如何支持MySQL和MariaDB数据库

2016-09-11 10:18 881 查看
原文地址:http://www.server110.com/mariadb/201404/10020.html首先,Django@Python2.x 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。首先据MySQL文档[3]说,自从MySQL Connector/Python 1.1.1 开始,引入了 mysql.connector.django ,可直接作为 Django 的数据库引擎使用,但是我试了1.1.2和1.1.3后发现,根本不是那么回事[4]。后来,发现了 PyMySQL[1] ,支持Python3 ,google后知道如何与 Django 结合使用[2],答案如下:首先,安装PyMySQLfor Windowsfor Fedora
pip-python3 install PyMySQL
pip-python3 install PyMySQL
然后,在 Django 站点的 __init__.py 文件中添加如下两行:
import pymysql

pymysql.install_as_MySQLdb()
import pymysql pymysql.install_as_MySQLdb()
最后是数据库的配置(在settings.py)
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', #数据库引擎
'NAME': 'test', #数据库名
'USER': 'root', #用户名
'PASSWORD': 'root', #密码
'HOST': '', #数据库主机,默认为localhost
'PORT': '', #数据库端口,MySQL默认为3306
'OPTIONS': {
'autocommit': True,
},
}
}
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库引擎 'NAME': 'test', #数据库名 'USER': 'root', #用户名 'PASSWORD': 'root', #密码 'HOST': '', #数据库主机,默认为localhost 'PORT': '', #数据库端口,MySQL默认为3306 'OPTIONS': { 'autocommit': True, }, }}
然后同步数据库:for Windowsfor FedoraOK, It works!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql python3