Haf*_*fiz 41 python mysql django mysql-python pymysql
我刚刚使用PyMySQL而不是MySQLdb解决了我的Django 1.3应用程序中的一些问题.我按照本教程介绍了如何进行切换:http://web-eng-help.blogspot.com/2010/09/install-mysql-5-for-python-26-and.html
现在我想知道PyMySQL究竟是什么以及它与MySQLdb的不同之处.
我在localhost上使用它,然后将其上传到某个主机.
是否可以在localhost上使用PyMySQL并托管它们提供的任何内容?由于我已将base.py和introspection.py中的"MySQLdb"更改为"PyMySQL",我是否需要在更改这些文件后将其上传到服务器?或者因为它是Django的文件,因为Django已经上传到那里,这不是很重要吗?
Dan*_*son 60
PyMySQL和MySQLdb提供相同的功能 - 它们都是数据库连接器.区别在于MySQLdb是C扩展而PyMySQL是纯Python的实现.
尝试PyMySQL有几个原因:
与Django一起使用它的正确方法是导入它并告诉它在你的顶级文件中模拟MySQLdb,通常是manage.py.将以下代码放在manage.py的最顶层(或启动服务器时调用的任何文件):
try:
import pymysql
pymysql.install_as_MySQLdb()
except ImportError:
pass
Run Code Online (Sandbox Code Playgroud)
Col*_*ole 16
PyMySQL和MySQLdb都是Python的数据库连接器,是使Python程序能够与MySQL服务器通信的库.
在部署应用程序时,通常不会上传核心Django文件.如果Django在您的部署服务器上运行良好,那么您肯定不需要在那里进行任何更改.DB驱动程序甚至是ORM下面的一两步,当然,您编写的代码中没有一个取决于其中的哪些代码正在使用中.
Tau*_*uir 10
你的第一点:
根据pymysql wiki页面:
MySQLdb是一个C扩展模块,其声誉很难编译,特别是如果你在Mac上.此外,最终用户需要等待为每个新版本的Python编译新的二进制文件,并且MySQLdb永远不会在Jython,IronPython或PyPy上运行(没有类似cpyext或IronClad的东西).我们还保持Python 2和Python 3之间的100%兼容性,因此2.x主干上的所有进步将立即在Python 3上提供.
你的第二点:
如果django在你的本地主机上工作正常,那么你的开发应该没问题.
| 归档时间: |
|
| 查看次数: |
45452 次 |
| 最近记录: |