我在尝试导入序列化 XML 文件时遇到此错误。我从我用于开发服务器的一个数据库导出它,片刻之后我将它导入另一个开发服务器(在同一台机器上)上的另一个数据库。我很困惑为什么它不处理导入时的 UTF-8 字符。我没有做任何特别的事情。另外,在我上次测试时,相同的代码也有效。这是我在应用程序的 views.py...
from django.shortcuts import render, render_to_response, get_object_or_404
from django.http import HttpResponseRedirect, HttpResponse
from django.contrib.auth.decorators import user_passes_test
from django.core import serializers
@user_passes_test(lambda u: u.is_superuser)
def export_serial(request):
'''
This exports data using Django serializing.
See: https://docs.djangoproject.com/en/dev/topics/serialization/
'''
XMLSerializer = serializers.get_serializer("xml")
xml_serializer = XMLSerializer()
xml_serializer.serialize(list(ThisModel.objects.all())
+ list(ThatModel.objects.all())
+ list(ThirdModel.objects.all()))
data = xml_serializer.getvalue()
response = HttpResponse(mimetype='text/xml')
response['Content-Disposition'] = 'attachment; filename=my-backup.xml'
response.write(data)
return response
@user_passes_test(lambda u: u.is_superuser)
def import_serial(request):
'''
This is for importing data that was saved/backed up, as serialized.
'''
xmlfile = '/home/zamphatta/path/to/my-backup.xml'
serialfile = open(xmlfile,'r')
data = serialfile.read()
serialfile.close()
for deserialized_object in serializers.deserialize("xml", data):
deserialized_object.save()
template = loader.get_template('z-style/index.htm')
context = RequestContext(request, {
'title': data,
})
return HttpResponse(template.render(context))
我用 Google 搜索并检查了所有相关的 StackOverflow 问题(但答案并没有给我提供答案),但仍然不知道为什么会抛出这个错误。我所知道的是非 ascii 字符使它呕吐,这没有意义,因为 Python 对 UTF-8 字符没有问题,而且我没有做任何会导致代码突然以不同方式对待它的奇怪事情.
更新:这是错误消息的完整版本...
UnicodeDecodeError at /sdb/import/
'ascii' codec can't decode byte 0xe2 in position 5367: ordinal not in range(128)
Request Method: GET
Request URL: http://coral/sdb/import/
Django Version: 1.6.1
Exception Type: UnicodeDecodeError
Exception Value:
'ascii' codec can't decode byte 0xe2 in position 5367: ordinal not in range(128)
Exception Location: /usr/lib/python3.2/encodings/ascii.py in decode, line 26
Python Executable: /usr/bin/python
Python Version: 3.2.3
Python Path:
['/usr/local/lib/python3.2/dist-packages/distribute-0.6.49-py3.2.egg',
'/usr/local/lib/python3.2/dist-packages/CherryPy-3.2.4-py3.2.egg',
'/usr/lib/python3.2',
'/usr/lib/python3.2/plat-linux2',
'/usr/lib/python3.2/lib-dynload',
'/usr/local/lib/python3.2/dist-packages',
'/usr/local/lib/python3.2/dist-packages/setuptools-0.6c11-py3.2.egg-info',
'/usr/lib/python3/dist-packages',
'/home/dfy/code/zamphatta/',
'/home/dfy/code/zamphatta/zamphatta/']
最佳答案
似乎当服务器启动 python3 manage.py runserver 时,导入工作正常。当 Django 通过 wsgi 在 Apache 上运行时,当我通过 Django 导入它时它不起作用。所以我猜 Apache 以某种方式干扰了它。它现在可以工作,只要我直接通过 Django 导入。
关于python - 'ascii' 编解码器无法解码位置 5367 : ordinal not in range(128) 中的字节 0xe2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21088975/
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
我正在尝试测试是否存在表单。我是Rails新手。我的new.html.erb_spec.rb文件的内容是:require'spec_helper'describe"messages/new.html.erb"doit"shouldrendertheform"dorender'/messages/new.html.erb'reponse.shouldhave_form_putting_to(@message)with_submit_buttonendendView本身,new.html.erb,有代码:当我运行rspec时,它失败了:1)messages/new.html.erbshou
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun
我花了三天的时间用头撞墙,试图弄清楚为什么简单的“rake”不能通过我的规范文件。如果您遇到这种情况:任何文件夹路径中都不要有空格!。严重地。事实上,从现在开始,您命名的任何内容都没有空格。这是我的控制台输出:(在/Users/*****/Desktop/LearningRuby/learn_ruby)$rake/Users/*******/Desktop/LearningRuby/learn_ruby/00_hello/hello_spec.rb:116:in`require':cannotloadsuchfile--hello(LoadError) 最佳
我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="
关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion在首页我有:汽车:VolvoSaabMercedesAudistatic_pages_spec.rb中的测试代码:it"shouldhavetherightselect"dovisithome_pathit{shouldhave_select('cars',:options=>['volvo','saab','mercedes','audi'])}end响应是rspec./spec/request
似乎无法为此找到有效的答案。我正在阅读Rails教程的第10章第10.1.2节,但似乎无法使邮件程序预览正常工作。我发现处理错误的所有答案都与教程的不同部分相关,我假设我犯的错误正盯着我的脸。我已经完成并将教程中的代码复制/粘贴到相关文件中,但到目前为止,我还看不出我输入的内容与教程中的内容有什么区别。到目前为止,建议是在函数定义中添加或删除参数user,但这并没有解决问题。触发错误的url是http://localhost:3000/rails/mailers/user_mailer/account_activation.http://localhost:3000/rails/mai