UnicodeEncodeError,Django升级至1.8

2024-09-30 12:31:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我将django从1.7.8升级到1.8.2并测试每个页面。当我尝试url“/admin/currency/currency”时,currencies是第三个包,UnicodeEncodeError抛出。但是,admin中的其他模型不会抛出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)

Tags: djangoinpytestlibpackagescontextline
2条回答

您可以通过将# -*- coding: utf-8 -*-放在脚本文件的顶部来定义UTF-8编码,在您的情况下,可以是第一行,也可以是第二行管理员py例如。在

根据您的链接:

The updatecurrencysymbols command will add the currency symbol (if missing) to each currency present. Make sure that your symbol and name columns are set to UTF-8.

在堆栈跟踪中,它尝试使用“ascii”。查看代码中是否有可以指定编码的位置。在

相关问题 更多 >

    热门问题