我对在异步框架上运行Django很感兴趣,比如Concurrence或gevent。这两个框架都有自己的异步MySQL驱动程序。
问题是Django只官方支持MySQLdb。我需要做什么才能让Django与带有gevent或并发的MySQL驱动程序一起工作?
有一步一步的指南可以参考的地方吗?这是一项重大的任务吗?
谢谢。
发布于 2011-08-24 03:50:56
为@traviscline使用pymysql的建议欢呼三声。他的建议是基于this post from mozilla的。它所需要的只是一个simple patch to your manage.py file
#!/usr/bin/env python
+try:
+ import pymysql
+ pymysql.install_as_MySQLdb()
+except ImportError:
+ pass 更改设置文件中的导入,以及monkeypatch(),因为pymysql是一个纯python驱动程序。
travis提到,他通过更改导入并运行pymysql、mysqldb和myconnpy的单元测试来测试兼容性。
请注意,已经有了examples of finer details to watch out for -但总的来说,这是一个优雅的、可维护的解决方案。当我在生产环境中运行时,我会更新!
发布于 2013-12-23 05:05:43
我成功地让pymysql与Django一起工作,做了以下工作:
尝试:将pymysql导入为除ImportError之外的数据库:通过egbutter发布的链接中提到的
MySQLdb替换为pymysql,即不必费心更改错误消息(您可以,但这取决于您)。
python manage.py runserver
https://stackoverflow.com/questions/2636536
复制相似问题