Канонические 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().

results matching ""

    No results matching ""