我将django从1.7.8升级到1.8.2并测试每一页。当我尝试url" / admin / currency / currency"时,currencies是第三个包,引发了UnicodeEncodeError。但是,管理员中的其他模型不会抛出UnicodeEncodeError,例如" / admin / account / user"
错误消息
Internal Server Error: /admin/currencies/currency/
Traceback (most recent call last):
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/core/handlers/base.py", line 164, in get_response
response = response.render()
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/response.py", line 158, in render
self.content = self.rendered_content
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/response.py", line 135, in rendered_content
content = template.render(context, self._request)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/backends/django.py", line 74, in render
return self.template.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/template_timings_panel/panels/TemplateTimings.py", line 137, in timing_hook
result = func(self, *args, **kwargs)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 209, in render
return self._render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/test/utils.py", line 96, in instrumented_test_render
return self.nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/loader_tags.py", line 135, in render
return compiled_parent._render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/test/utils.py", line 96, in instrumented_test_render
return self.nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/loader_tags.py", line 135, in render
return compiled_parent._render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/test/utils.py", line 96, in instrumented_test_render
return self.nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/template_timings_panel/panels/TemplateTimings.py", line 137, in timing_hook
result = func(self, *args, **kwargs)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/loader_tags.py", line 65, in render
result = block.nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/defaulttags.py", line 329, in render
return nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/template_timings_panel/panels/TemplateTimings.py", line 137, in timing_hook
result = func(self, *args, **kwargs)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/loader_tags.py", line 65, in render
result = block.nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/defaulttags.py", line 329, in render
return nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/template_timings_panel/panels/TemplateTimings.py", line 137, in timing_hook
result = func(self, *args, **kwargs)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/loader_tags.py", line 65, in render
result = block.nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/defaulttags.py", line 217, in render
nodelist.append(node.render(context))
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/template_timings_panel/panels/TemplateTimings.py", line 137, in timing_hook
result = func(self, *args, **kwargs)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 1195, in render
return func(*resolved_args, **resolved_kwargs)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/contrib/admin/templatetags/admin_list.py", line 419, in admin_list_filter
'spec': spec,
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/backends/django.py", line 74, in render
return self.template.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/template_timings_panel/panels/TemplateTimings.py", line 137, in timing_hook
result = func(self, *args, **kwargs)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 209, in render
return self._render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/test/utils.py", line 96, in instrumented_test_render
return self.nodelist.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 903, in render
bit = self.render_node(node, context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/debug.py", line 79, in render_node
return node.render(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/templatetags/i18n.py", line 132, in render
tmp_context[var] = val.resolve(context)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/base.py", line 674, in resolve
new_obj = func(obj, *arg_vals)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/template/defaultfilters.py", line 45, in _dec
args[0] = force_text(args[0])
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/utils/encoding.py", line 94, in force_text
s = six.text_type(bytes(s), encoding, errors)
File "/Users/letsoon/Desktop/django1.8_test/lib/python2.7/site-packages/django/utils/functional.py", line 144, in __bytes_cast
return bytes(func(*self.__args, **self.__kw))
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
答案 0 :(得分:0)
根据您的链接:
updatecurrencysymbols命令会将货币符号(如果缺少)添加到每个存在的货币。确保您的符号和名称列设置为UTF-8。
在您的堆栈跟踪中,它尝试使用' ascii'。查看代码中是否有可以指定编码的位置。
答案 1 :(得分:0)
您可以通过将UTF-8
放在脚本文件的顶部来定义# -*- coding: utf-8 -*-
编码,例如,在您的情况下,您可以使用admin.py的第一行或第二行。