Канонические URL-адреса для моделей
Можно использовать URL-адрес post_detail, определенный в предыдущем разделе, для построения канонического URL-адреса для объектов POST. Конвенция в Джанго состоит в том, чтобы добавить в модель метод get_absolute_url(), который возвращает канонический URL-адрес объекта. Для этого метода будет использоваться метод reverse(), который позволяет создавать URL-адреса по их имени и передавать необязательные параметры. Измените файл models.py и добавьте следующее:
from django.core.urlresolvers import reverse
Class Post(models.Model):
def get_absolute_url(self):
return reverse('blog:post_detail',
args=[self.publish.year,
self.publish.strftime('%m'),
self.publish.strftime('%d'),
self.slug])
Обратите внимание, что мы используем функцию strftime() для построения URL-адреса с помощью месяца и дня с ведущими нулями. В наших шаблонах будет использоваться метод get_absolute_url().