Ответ 1
Django 1.5 имеет экспериментальную поддержку для Python 3, но для Python 2.X написан учебник Django 1.5:
Этот учебник написан для Django 1.5 и Python 2.x. Если версия Django не соответствует, вы можете обратиться к учебнику для своей версии Django или обновить Django до последней версии. Если вы используете Python 3.x, имейте в виду, что ваш код может отличаться от того, что находится в учебнике, и вы должны продолжать использовать этот учебник, только если знаете, что делаете с Python 3.x.
В Python 3 вы должны определить метод __str__
вместо метода __unicode__
. Существует декоратор python_2_unicode_compatible
, который помогает вам писать код, который работает в Python 2 и 3.
from __future__ import unicode_literals
from django.utils.encoding import python_2_unicode_compatible
@python_2_unicode_compatible
class Poll(models.Model):
question = models.CharField(max_length=200)
pub_date = models.DateTimeField('date published')
def __str__(self):
return self.question
Для получения дополнительной информации см. раздел методов str и unicode в Портирование на Python 3.