当前位置:首页 > 开发 > 编程语言 > Python > 正文

Django_Python3添加MySQL/MariaDB支持

发表于: 2015-03-04   作者:2002wmj   来源:转载   浏览:
摘要: 现状 首先,Django@Python2.x 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。 MySQL官方的方案 首先据MySQL文档[3]说,自从MySQL

现状

首先,Django@Python2.x 中默认的引擎为 django.db.backends.mysql 。但是在Python3中如果这样写的话,会发现 django.db.backends.mysql 依赖 MySQLdb[5] ,而 MySQLdb 又不兼容 Python3 于是要找一种新的方式来继续使用MySQL。

MySQL官方的方案

首先据MySQL文档[3]说,自从MySQL Connector/Python 1.1.1 开始,引入了 mysql.connector.django ,可直接作为 Django 的数据库引擎使用,但是我试了1.1.2和1.1.3后发现,根本不是那么回事[4]。

PyMySQL(It works)

后来,发现了 PyMySQL[1] ,支持Python3 ,google后知道如何与 Django 结合使用[2],答案如下:

首先,安装PyMySQL

for Windows

for Fedora

然后,在 Django 站点的 __init__.py 文件中添加如下两行:

最后是数据库的配置(在settings.py)

然后同步数据库:

for Windows

for Fedora

OK, It works!

:本人在 Windows 7 + MariaDB 5.5 + Django 1.6.0 + Python 3.3 的环境下试验成功。

更新:在Fedora + MariaDB 5.5 + Django 1.6.0 + Python 3.3 下也测试成功。

参考链接

  1. PyMySQL的官网:https://github.com/PyMySQL/PyMySQL/
  2. Stack Overflow上关于此的一个问题:http://stackoverflow.com/questions/2636536/how-to-make-django-work-with-unsupported-mysql-drivers-such-as-gevent-mysql-or-c
  3. MySQL官方宣称支持Django:http://dev.mysql.com/doc/connector-python/en/connector-python-django-backend.html
  4. MySQL Connector/Python 1.1.3 在Django@Python3下无法工作:http://www.oschina.net/question/1415937_135990
  5. MySQLdb官网(目前不支持Python3):http://sourceforge.net/projects/mysql-python/

Django_Python3添加MySQL/MariaDB支持

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
本文出自 “ leolee ” 博客,出处 http://jooben.blog.51cto.com/253727/309467 一般建模可能都会
本文出自 “ leolee ” 博客,出处 http://jooben.blog.51cto.com/253727/309467 一般建模可能都会
一般建模可能都会用到:powerdesigner 但是,在建表的时候,我一直没有找到: DEFAULT CHARACTER SE
本文出自 “ leolee ” 博客,出处 http://jooben.blog.51cto.com/253727/309467 一般建模可能都会
一般建模可能都会用到:powerdesigner 但是,在建表的时候,我一直没有找到: DEFAULT CHARACTER SE
http://jooben.blog.51cto.com/253727/309467 一般建模可能都会用到:powerdesigner 但是,在建表的
http://jooben.blog.51cto.com/253727/309467 一般建模可能都会用到:powerdesigner 但是,在建表的
一般建模可能都会用到:powerdesigner 但是,在建表的时候,我一直没有找到: DEFAULT CHARACTER SE
http://jooben.blog.51cto.com/253727/309467 一般建模可能都会用到:powerdesigner 但是,在建表的
http://jooben.blog.51cto.com/253727/309467 一般建模可能都会用到:powerdesigner 但是,在建表的
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号