I was developing my own django-app and after testing at domain domain. example .ru moved all to example .ru by editing nginx.conf All worked fine, but now, this error appears:
我开发了自己的django应用程序,并在domain进行了测试。通过编辑nginx, ru移到了。ru。conf一切正常,但是现在,这个错误出现了:
Caught UnicodeDecodeError while rendering: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal not in range(128)
And as result - my django adminsite is broken.
结果,我的django管理站点被破坏了。
What could i try to fix this issue?
我该怎么解决这个问题呢?
Django output is here:
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)
Also whe i try to execute
我也试着去执行。
./manage.py test
The command-line output is
命令行输出
/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)
2 个解决方案
#1
1
I had the same error. It was because I had a BOM at the beginning of some files. The problem is that most editors mask these few chars. Try opening with a simple editor and check the firest two chars (I user DOS EDIT)
我犯了同样的错误。因为我在一些文件的开头有一个BOM。问题是,大多数编辑都掩盖了这几个字符。尝试用一个简单的编辑器打开并检查firest两个字符(I user DOS EDIT)
#2
0
wild guess, but maybe your site now has non-ascii characters in the url (site name or path) (being russian) and you have added these to the url patterns, but the regexps are ascii and not unicode? i say this because url resolvers appear in the trace above. or, perhaps, a similar problem with a reference in the template to a non-ascii url pattern?
也许你的站点现在在url中有非ascii字符(站点名或路径)(为俄文),你已经将它们添加到url模式中,但是regexp是ascii而不是unicode?之所以这么说,是因为url解析器出现在上面的跟踪中。或者,在模板中引用非ascii url模式时,可能会出现类似的问题?
#1
1
I had the same error. It was because I had a BOM at the beginning of some files. The problem is that most editors mask these few chars. Try opening with a simple editor and check the firest two chars (I user DOS EDIT)
我犯了同样的错误。因为我在一些文件的开头有一个BOM。问题是,大多数编辑都掩盖了这几个字符。尝试用一个简单的编辑器打开并检查firest两个字符(I user DOS EDIT)
#2
0
wild guess, but maybe your site now has non-ascii characters in the url (site name or path) (being russian) and you have added these to the url patterns, but the regexps are ascii and not unicode? i say this because url resolvers appear in the trace above. or, perhaps, a similar problem with a reference in the template to a non-ascii url pattern?
也许你的站点现在在url中有非ascii字符(站点名或路径)(为俄文),你已经将它们添加到url模式中,但是regexp是ascii而不是unicode?之所以这么说,是因为url解析器出现在上面的跟踪中。或者,在模板中引用非ascii url模式时,可能会出现类似的问题?