我对在 Concurrence 或 gevent 等异步框架上运行 Django 很感兴趣。这两个框架都带有自己的异步 MySQL 驱动程序。
问题是 Django 只官方支持 MySQLdb。我需要做什么才能使 Django 与 gevent 或 Concurrence 附带的 MySQL 驱动程序一起工作?
是否有我可以遵循的分步指南?这是一项重大事业吗?
谢谢。
最佳答案
为@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 - 但总的来说,这是一个优雅、可维护的解决方案。当我在生产中运行时,我会更新!
关于mysql - 如何让 Django 使用不受支持的 MySQL 驱动程序,例如 gevent-mysql 或 Concurrence 的 MySQL 驱动程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2636536/