有没有人尝试python3+django 1.6中文文档1.6+mysql connector 1.1.3

有没有人尝试python3+django1.6+mysql connector 1.1.3? - 开源中国社区
当前访客身份:游客 [
当前位置:
大家都知道mysqldb不支持python3,而且听说没有团队在维护了,在网上找了一下,看到mysql官方的mysql connecotor/python 1.1版本支持Django,按照上面的介绍配置,在settings.py中,设置为:
DATABASES = {
& & 'default':{
& && &&&'NAME': 'polls',#数据库名称
& && &&&'ENGINE': 'mysql.connector.django',
& && &&&'USER': 'polls-web',#访问数据库的账号
& && &&&'PASSWORD': '1234',#访问数据库的账号密码
& && &&&'OPTIONS': {
& && && &'autocommit': True,
& && &&&},
但在使用python manager.py syncdb时,提示错误:
TypeError: sql_for_inline_foreign_key_references() takes 4 positional arguments but 5 were given
有没有人遇到这个问题,有人知道怎么解决不?
共有3个答案
<span class="a_vote_num" id="a_vote_num_
&File &/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/django/db/backends/creation.py&, line 89, in sql_create_model
& & model, f, known_models, style)
TypeError: sql_for_inline_foreign_key_references() takes 4 positional arguments but 5 were given
<span class="a_vote_num" id="a_vote_num_
def sql_for_inline_foreign_key_references(self, model, field, known_models, style):
<span class="a_vote_num" id="a_vote_num_
你好,我没有解决上面的问题,但是我找到了Django@python3添加MySQL、MariaDB支持的方法:
安装PyMySQL:
pip install PyMySQL
在站点的__init__.py中添加如下两行代码即可:
import pymysql
pymysql.install_as_MySQLdb() 另外,DATBASES的ENGINE选择
django.db.backends.mysql
参考:/questions/2636536/how-to-make-django-work-with-unsupported-mysql-drivers-such-as-gevent-mysql-or-c
更多开发者职位上
有什么技术问题吗?
类似的话题(Ryu Saeba )
(henryhuang)
第三方登录:python3中用httplib2抓取某些站点的转码问题 - 开源中国社区
当前访客身份:游客 [
当前位置:
import httplib2
if __name__ == '__main__':
opner = httplib2.Http()
resp,content = opner.request(url, 'GET')
print(content)
以上是测试代码
python2中得到的结果,content是str类型并且能使用正则对内容进行解析
python3中的httplib2返回的是bytes对象,如果要对内容进行解析必须转为字符串类型
采用str转换不行,会得出b'&html&\r\n.....'这样的字符串并且中文全部为\x8e的这样的编码,采用content.decode('utf-8')会直接报告错误,某些编码无法转换
上述代码中抓百度首页使用decode方式又能得到正确的str类型
请问在python3中该如何处理httplib2的返回类型并解析成正确的str
---------------问题补充---------------
:python3中urllib返回的内容也是bytes
共有3个答案
<span class="a_vote_num" id="a_vote_num_
感谢各位,问题已经解决了
这个页面的js部分有一些注释是乱码的导致无法将bytes转化为utf8的字符串
这里贴一下解决代码
import httplib2
if __name__ == '__main__':
opner = httplib2.Http()
resp,content = opner.request(url, 'GET')
tmp = content.decode('iso-8859-15')#实验结果iso-8859-15可以正确的解释那些乱码
p = re.compile('&script[^&]*?&.*?&/script&', re.S)
tmp = p.sub('', tmp)#因为内容匹配中不需要js代码所以去除了所有的script标签,当然其中的乱码注释也跟着去掉了
tmp = bytes(tmp,'iso-8859-15')#通过iso-8859-15转为bytes类型
print(tmp.decode('utf-8'))#可以得到正确的utf-8字符串了
--- 共有 2 条评论 ---
强迫症,有新的就不想用旧的……
(3年前)&nbsp&
怪不得,我自己还看了下,原来你是python3的,现在python3和python2.7很多库都不太一样,建议你改用python2.7
(3年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
建议使用python request库,你所提出的问题已经在request里面解决了。
--- 共有 1 条评论 ---
尝试了你提供的request苦,在python3中依然返回bytes,还是同样的问题
(3年前)&nbsp&
<span class="a_vote_num" id="a_vote_num_
我有用过的方法是先抓网页中的charset信息,读到编码然后用decode解析,差不多就能解决问题了。
--- 共有 1 条评论 ---
decode确认是utf8,不用抓,现在的问题是报错
(3年前)&nbsp&
更多开发者职位上
有什么技术问题吗?
吃鱼的虾米的其它问题
类似的话题如何在Django1.6结合Python3.4版本中使用MySql-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
如何在Django1.6结合Python3.4版本中使用MySql
来源:互联网 发表时间: 18:21:05 责任编辑:李志喜字体:
为了帮助网友解决“如何在Django1.6结合Python3.4版本中使用MySql”相关的问题,中国学网通过互联网对“如何在Django1.6结合Python3.4版本中使用MySql”相关的解决方案进行了整理,用户详细问题包括:RT,我想知道:如何在Django1.6结合Python3.4版本中使用MySql,具体解决方案如下:解决方案1:
3306&#39;&nbsp:&&nbsp:配置django的settings文件DATABASES&nbsp,&nbsp:&;;&:&:安装python-mysql-connector2;&summer&#39;.1&#39;&;&&nbsp?1;&#39;=&&&&;&#39;&USER&#39,&&#39;&nbsp.0;root&#39;&&nbsp.;&127,&,&&:&&#39;&#39;&&PASSWORD&#39;&nbsp.mysql&#39;PORT&#39;&&&nbsp.&#39:&&&&&#39;&#39;&&nbsp.0;&&;&#39;&dwz&#39;&&nbsp,&&&&#39,&&&&#39;&&&&&&#39:&nbsp这话题不是说了好多了么;{&&;default&#39;NAME&#39;HOST&#39;&#39;&&&nbsp:&&;&ENGINE&#39;&{&nbsp
解决方案2:
请看django1.6官方文档
相关文章:
最新添加资讯
24小时热门资讯
Copyright &#169; 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号

我要回帖

更多关于 django1.6下载 的文章

 

随机推荐