Создаю раздел новостей. Весь код пишу в среде eclipse with module pydev. Создал приложение news и в нем создал модель имеющая следующий вид:
# -*- coding: utf-8 -*-
from django.db import models
from django.contrib.auth.models import User
class News(models.Model):
title = models.CharField(max_length=200)
slug = models.SlugField(prepopulate_from=('title',))
pub_date = models.DateTimeField(u'Дата опубликования')
short_text = models.TextField(u'Краткая новость')
full_text = models.TextField(u'Полная новость')
author = models.ForeignKey(User)
def __unicode__(self):
return self.title
class Admin:
pass
Захожу в адимнку и набираю тестовую новость, и при нажатии кнопку “Сохранить” получаю на странице ошибку:
DjangoUnicodeDecodeError at /admin/news/news/
'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128). You passed in DjangoUnicodeDecodeError('ascii', ‘\xd1\x8b\xd0\xb2\xd1\x8b\xd0\xb2\xd1\x8b\xd0\xb2\xd0\xb2\xd1\x84\xd1\x84’, 0, 1, ‘ordinal not in range(128)’) (<class ‘django.utils.encoding.DjangoUnicodeDecodeError’>)
……………………………………………………………………
Exception Value:
'ascii' codec can't decode byte 0xd1 in position 0: ordinal not in range(128). You passed in DjangoUnicodeDecodeError('ascii', ‘\xd1\x8b\xd0\xb2\xd1\x8b\xd0\xb2\xd1\x8b\xd0\xb2\xd0\xb2\xd1\x84\xd1\x84’, 0, 1, ‘ordinal not in range(128)’) (<class ‘django.utils.encoding.DjangoUnicodeDecodeError’>)
Exception Location:
/usr/local/lib/python2.5/site-packages/django/utils/encoding.py in force_unicode, line 60
…………………………………………………………………..
Unicode error hint
The string that could not be encoded/decoded was: ������
Template error
In template /usr/local/lib/python2.5/site-packages/django/contrib/admin/templates/admin/change_list.html, error at line 18
Caught an exception while rendering: ‘ascii’ codec can't decode byte 0xd1 in position 0: ordinal not in range(128). You passed in DjangoUnicodeDecodeError('ascii', ‘\xd1\x8b\xd0\xb2\xd1\x8b\xd0\xb2\xd1\x8b\xd0\xb2\xd0\xb2\xd1\x84\xd1\x84’, 0, 1, ‘ordinal not in range(128)’) (<class ‘django.utils.encoding.DjangoUnicodeDecodeError’>)
Привожу 18 строку:
{% block result_list %}{% result_list cl %}{% endblock %}
Как я понимаю проблема в том, что система система пытаестя преобразовать данные из ascii в utf-8. Но почему это вызывает ошибку??
В mysql кодировка utf-8.