Skip to main content
 首页 » 编程设计

python之Django管理站点已损坏-呈现: 'ascii' codec can't decode byte 0xd0 in position 0时捕获了UnicodeDecodeError

2025年05月04日23daizhj

我正在开发自己的django-app,并在域domain进行了测试。 example .ru通过编辑nginx.conf将所有内容移至example .ru
一切正常,但现在出现此错误:

Caught UnicodeDecodeError while rendering: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) 

结果-我的django管理站点被破坏了。

我可以尝试解决什么问题?

Django输出在这里:
Environment: 
 
 
Request Method: GET 
Request URL: http://allvbg.ru/admin/ 
 
Django Version: 1.3.1 
Python Version: 2.5.2 
Installed Applications: 
['admin_tools', 
 'admin_tools.theming', 
 'admin_tools.menu', 
 'admin_tools.dashboard', 
 'django.contrib.auth', 
 'django.contrib.contenttypes', 
 'django.contrib.sessions', 
 'django.contrib.messages', 
 'django.contrib.staticfiles', 
 'django.contrib.admin', 
 'tinymce', 
 'filebrowser', 
 'django.contrib.admindocs', 
 'easy_thumbnails', 
 'mptt', 
 'testsite.allvbg', 
 'feincms', 
 'debug_toolbar', 
 'djangoratings', 
 'modeltranslation', 
 'south'] 
Installed Middleware: 
('django.middleware.cache.CacheMiddleware', 
 'django.middleware.common.CommonMiddleware', 
 'django.contrib.sessions.middleware.SessionMiddleware', 
 'django.middleware.csrf.CsrfViewMiddleware', 
 'django.contrib.auth.middleware.AuthenticationMiddleware', 
 'django.contrib.messages.middleware.MessageMiddleware', 
 'debug_toolbar.middleware.DebugToolbarMiddleware', 
 'django.middleware.locale.LocaleMiddleware') 
 
 
Template error: 
In template /usr/lib/python2.5/site-packages/admin_tools/theming/templates/admin/base.html, error at line 33 
   Caught UnicodeDecodeError while rendering: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) 
   23 :     <!-- Header --> 
 
 
   24 :     <div id="header"> 
 
 
   25 :         <div id="branding"> 
 
 
   26 :         {% block branding %}{% endblock %} 
 
 
   27 :         </div> 
 
 
   28 :         {% if user.is_active and user.is_staff %} 
 
 
   29 :         <div id="user-tools"> 
 
 
   30 :             {% trans 'Welcome,' %} 
 
 
   31 :             <strong>{% filter force_escape %}{% firstof user.first_name user.username %}{% endfilter %}</strong>. 
 
 
   32 :             {% block userlinks %} 
 
 
   33 :                  {% url django-admindocs-docroot as docsroot %}  
 
 
   34 :                 {% if docsroot %} 
 
 
   35 :                     <a href="{{ docsroot }}">{% trans 'Documentation' %}</a> / 
 
 
   36 :                 {% endif %} 
 
 
   37 :                 {% url admin:password_change as password_change_url %} 
 
 
   38 :                 {% if password_change_url %} 
 
 
   39 :                     <a href="{{ password_change_url }}"> 
 
 
   40 :                 {% else %} 
 
 
   41 :                     <a href="{{ root_path }}password_change/"> 
 
 
   42 :                 {% endif %} 
 
 
   43 :                 {% trans 'Change password' %}</a> / 
 
 
Traceback: 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/handlers/base.py" in get_response 
  111.                         response = callback(request, *callback_args, **callback_kwargs) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/contrib/admin/sites.py" in wrapper 
  214.                 return self.admin_view(view, cacheable)(*args, **kwargs) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/utils/decorators.py" in _wrapped_view 
  93.                     response = view_func(request, *args, **kwargs) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/views/decorators/cache.py" in _wrapped_view_func 
  79.         response = view_func(request, *args, **kwargs) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/contrib/admin/sites.py" in inner 
  197.             return view(request, *args, **kwargs) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/views/decorators/cache.py" in _wrapped_view_func 
  79.         response = view_func(request, *args, **kwargs) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/contrib/admin/sites.py" in index 
  382.             context_instance=context_instance 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/shortcuts/__init__.py" in render_to_response 
  20.     return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/loader.py" in render_to_string 
  188.         return t.render(context_instance) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/base.py" in render 
  123.             return self._render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/test/utils.py" in instrumented_test_render 
  60.     return self.nodelist.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/base.py" in render 
  744.                 bits.append(self.render_node(node, context)) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/debug.py" in render_node 
  73.             result = node.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/loader_tags.py" in render 
  127.         return compiled_parent._render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/test/utils.py" in instrumented_test_render 
  60.     return self.nodelist.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/base.py" in render 
  744.                 bits.append(self.render_node(node, context)) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/debug.py" in render_node 
  73.             result = node.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/loader_tags.py" in render 
  127.         return compiled_parent._render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/test/utils.py" in instrumented_test_render 
  60.     return self.nodelist.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/base.py" in render 
  744.                 bits.append(self.render_node(node, context)) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/debug.py" in render_node 
  73.             result = node.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/defaulttags.py" in render 
  311.             return self.nodelist_true.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/base.py" in render 
  744.                 bits.append(self.render_node(node, context)) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/debug.py" in render_node 
  73.             result = node.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/defaulttags.py" in render 
  311.             return self.nodelist_true.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/base.py" in render 
  744.                 bits.append(self.render_node(node, context)) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/debug.py" in render_node 
  73.             result = node.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/loader_tags.py" in render 
  64.             result = block.nodelist.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/base.py" in render 
  744.                 bits.append(self.render_node(node, context)) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/debug.py" in render_node 
  73.             result = node.render(context) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/template/defaulttags.py" in render 
  437.             url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/urlresolvers.py" in reverse 
  391.             *args, **kwargs))) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/urlresolvers.py" in reverse 
  312.         possibilities = self.reverse_dict.getlist(lookup_view) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/urlresolvers.py" in _get_reverse_dict 
  229.             self._populate() 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/urlresolvers.py" in _populate 
  208.                     for name in pattern.reverse_dict: 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/urlresolvers.py" in _get_reverse_dict 
  229.             self._populate() 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/urlresolvers.py" in _populate 
  219.                 bits = normalize(p_pattern) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/utils/regex_helper.py" in normalize 
  185.     return zip(*flatten_result(result)) 
File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/utils/regex_helper.py" in flatten_result 
  324.         piece = u''.join(source[last:]) 
 
Exception Type: TemplateSyntaxError at /admin/ 
Exception Value: Caught UnicodeDecodeError while rendering: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) 

我也尝试执行
./manage.py test 

命令行输出为
/usr/lib/python2.5/site-packages/djangoratings/fields.py:316: DeprecationWarning: A Field class whose get_db_prep_save method hasn't been updated to take a `connection` argument. 
  class RatingField(IntegerField): 
/usr/lib/python2.5/site-packages/djangoratings/fields.py:316: DeprecationWarning: A Field class whose get_db_prep_lookup method hasn't been updated to take `connection` and `prepared` arguments. 
  class RatingField(IntegerField): 
/usr/lib/python2.5/site-packages/mptt/models.py:305: DeprecationWarning: Implicit manager Firm.tree will be removed in django-mptt 0.6.  Explicitly define a TreeManager() on your model to remove this warning. 
  DeprecationWarning 
/usr/lib/python2.5/site-packages/mptt/admin.py:180: DeprecationWarning: Accessing the item and tree editor through `feincms.admin.editor` has been deprecated. Please use `feincms.admin.item_editor` and `feincms.admin.tree_editor` instead. 
  from feincms.admin import editor 
Traceback (most recent call last): 
  File "./manage.py", line 14, in <module> 
    execute_manager(settings) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/management/__init__.py", line 438, in execute_manager 
    utility.execute() 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/management/__init__.py", line 379, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/management/base.py", line 191, in run_from_argv 
    self.execute(*args, **options.__dict__) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/management/base.py", line 220, in execute 
    output = self.handle(*args, **options) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/management/commands/test.py", line 37, in handle 
    failures = test_runner.run_tests(test_labels) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/test/simple.py", line 358, in run_tests 
    suite = self.build_suite(test_labels, extra_tests) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/test/simple.py", line 251, in build_suite 
    suite.addTest(build_suite(app)) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/test/simple.py", line 77, in build_suite 
    test_module = get_tests(app_module) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/test/simple.py", line 35, in get_tests 
    test_module = __import__('.'.join(app_path + [TEST_MODULE]), {}, {}, TEST_MODULE) 
  File "/usr/lib/python2.5/site-packages/django_filebrowser-3.4.0-py2.5.egg/filebrowser/tests/__init__.py", line 3, in <module> 
    from filebrowser.tests.sites import * 
  File "/usr/lib/python2.5/site-packages/django_filebrowser-3.4.0-py2.5.egg/filebrowser/tests/sites.py", line 239, in <module> 
    all_sites = get_resolver(get_urlconf()).app_dict[APP_NAME] 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/urlresolvers.py", line 241, in _get_app_dict 
    self._populate() 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/core/urlresolvers.py", line 219, in _populate 
    bits = normalize(p_pattern) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/utils/regex_helper.py", line 185, in normalize 
    return zip(*flatten_result(result)) 
  File "/usr/lib/python2.5/site-packages/Django-1.3.1-py2.5.egg/django/utils/regex_helper.py", line 324, in flatten_result 
    piece = u''.join(source[last:]) 
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128) 

请您参考如下方法:

我有同样的错误。
这是因为在某些文件的开头有BOM。问题在于大多数编辑器都掩盖了这几个字符。
尝试使用一个简单的编辑器打开并检查第两个字符(我使用DOS EDIT)