Django 博客生成下一篇/上一篇条目
在一个博客应用中(我大部分是按照教程搭建的),我想在每个文章的单独页面上添加“上一篇”和“下一篇”的链接。这个博客应用的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对象,叫做post,所以我可以用类似于
{% url single_post slug=post.slug %}的方式来获取当前页面的链接,但我想要能够像这样使用slug=post[-1].slug或者其他的方式。有没有简单的方法可以做到这一点呢?
当然,我需要进行一些检查(看看是否有上一篇文章),而且我也需要为“下一篇”链接重复这个过程。
我一直在绕圈子想让这个功能正常工作。有没有什么办法,还是说我必须为这个页面写一个完整的视图?