В приложении блога (которое я в основном построил после обучения) я хотел бы иметь ссылку на следующий и предыдущий пост в просмотре постов на одной странице. Файл urls.py приложения блога выглядит следующим образом:
from django.conf.urls.defaults import *
from django.views.generic import list_detail
from sandy.blog.models import Post
urlpatterns = patterns('',
url(r'^post/(?P<slug>.*)/$', list_detail.object_detail,
{'queryset': Post.objects.all(), 'template_object_name': 'post',},
name="single_post"),
url(r'^$', list_detail.object_list,
{'queryset': Post.objects.order_by('-published'), 'template_object_name': 'post',},
name="blog_home"),
)
В одностраничном шаблоне я хотел бы сделать что-то вроде этого:
<p><a href="{% url single_post slug=[how would I derive it???] %}">Previous Post</a></p>
У меня есть объект Post как пост, доступный в шаблоне, поэтому я могу сделать что-то вроде
{% url single_post slug = post.slug%} для текущей страницы, но хотелось бы иметь возможность делать что-то вроде slug = post [-1] .slug или чего-то еще. Есть ли в комплекте простые батарейки для этого?
Конечно, необходимо провести некоторую проверку (чтобы увидеть, есть ли предыдущий пост или нет), и мне нужно будет повторить его и для ссылки "следующий пост".
Я ходил кругами, чтобы заставить это работать. Есть ли способ, или я вынужден выписать полный просмотр страницы.