django1.5.1 +python3.3 使用mysql的问题

socket 发布于 2013/04/23 18:35
阅读 3K+
收藏 2

        我在ubuntu下用python3.3,django1.5.1。想跑跑官网上的例子https://docs.djangoproject.com/en/1.5/intro/tutorial01/ 。这是个连接Mysql数据库的例子,django需要MySQLdb,虽然Mysql官网提供了mysql-connector,但django不支持。。。于是我去找MySQLdb, github上是旧的,但是我找到了Mysql-for-Python-3 https://github.com/davispuh/MySQL-for-Python-3 。这是一个老外基于MySQL-python-1.2.3然后把Python2.x和python3.x区别的东西都改了一下搞成的东西,我单独在python3.3 shell里试了试,好用的很,可以创建database,table,也可以显示,使用正常。但是我跑官网那个polls的例子,结果如下:

kl@kl-Latitude-D630:~/djangoCode/mysite$ python3 manage.py sql polls
TypeError: 'use_unicode' is an invalid keyword argument for this function
        我在网上搜了一个下午,在/usr/local/lib/python3.3/sites-packages/django/db/backends/mysql/base.py里找到了这个:

379     def _cursor(self):
380         new_connection = False
381         if not self._valid_connection():
382             new_connection = True
383             kwargs = {
384                 'conv': django_conversions,
385                 'charset': 'utf8',
386                 'use_unicode': True,
387             }
        有use_unicode的也就这一个地方了哇(这个我不确定),我也不知道该怎么改django的代码,或者怎么修改官网例子的代码??

        django1.5.1看来还不是特别符合python3.x的特性,怎么更新这么慢,这不是赤裸裸要被ruby on rails 超过吗。。。

        最后,求指导,怎么破??(我不想用回2.7了。。。)

加载中
0
夏侯
夏侯

为什么非要使用python3呢?


socket
socket
python3 和python2好多函数都不一样,变化了好多,用熟了2再转3太不适应了把。。。。
0
k
klarke
也碰到了相同的问题, use_unicode,现在有办法吗
socket
socket
我放弃了django,转投tornado~坚持python3不放手!希望对你有帮助~
返回顶部
顶部