首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让Django与不支持的MySQL驱动程序一起工作,比如gevent-mysql或Concurrence的MySQL驱动程序?

如何让Django与不支持的MySQL驱动程序一起工作,比如gevent-mysql或Concurrence的MySQL驱动程序?
EN

Stack Overflow用户
提问于 2010-04-14 18:21:21
回答 2查看 8.8K关注 0票数 23

我对在异步框架上运行Django很感兴趣,比如Concurrence或gevent。这两个框架都有自己的异步MySQL驱动程序。

问题是Django只官方支持MySQLdb。我需要做什么才能让Django与带有gevent或并发的MySQL驱动程序一起工作?

有一步一步的指南可以参考的地方吗?这是一项重大的任务吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-24 03:50:56

为@traviscline使用pymysql的建议欢呼三声。他的建议是基于this post from mozilla的。它所需要的只是一个simple patch to your manage.py file

代码语言:javascript
复制
#!/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 -但总的来说,这是一个优雅的、可维护的解决方案。当我在生产环境中运行时,我会更新!

票数 37
EN

Stack Overflow用户

发布于 2013-12-23 05:05:43

我成功地让pymysql与Django一起工作,做了以下工作:

  1. 注释掉base.py文件开头的try-except块,其中导入了MySQLdb。
  2. 将以下四行添加到base.py

尝试:将pymysql导入为除ImportError之外的数据库:通过egbutter发布的链接中提到的

  • ,转到base.py文件并在文件的相关部分查找-将MySQLdb替换为pymysql,即不必费心更改错误消息(您可以,但这取决于您)。

  • 保存base.py,并从apt位置运行以下命令以查看服务器启动情况。

python manage.py runserver

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2636536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档