Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django博客生成下一个/上一个条目_Python_Django - Fatal编程技术网

Python Django博客生成下一个/上一个条目

Python Django博客生成下一个/上一个条目,python,django,Python,Django,在博客应用程序中(我主要是在教程之后构建的),我希望在文章的单页视图上有下一篇和上一篇文章的链接。博客应用程序的URL.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>

在博客应用程序中(我主要是在教程之后构建的),我希望在文章的单页视图上有下一篇和上一篇文章的链接。博客应用程序的URL.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>
从django.conf.url.defaults导入*
来自django.views.generic导入列表\u详细信息
从sandy.blog.models导入帖子
urlpatterns=模式(“”,
url(r'^post/(?P.*)/$),列表_detail.object_detail,
{'queryset':Post.objects.all(),'template_object_name':'Post',},
name=“单一职位”),
url(r'^$',list_detail.object_list,
{'queryset':Post.objects.order_by('-published'),'template_object_name':'Post',},
name=“blog_home”),
)

在单页模板中,我希望执行以下操作:

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之类的操作。有没有一种简单的方法可以做到这一点

当然,需要进行一些检查(看看是否有以前的帖子),我也需要在“下一篇帖子”链接中重复


我一直在兜圈子,想让这件事起作用。有没有办法,或者我必须为页面写出一个完整的视图。

您需要and
get\u previous\u by\u FOO()
模型方法。

您需要and
get\u previous\u by\u FOO()
模型方法。

我能在模板中使用它吗?我没弄对,如果你不需要传递任何论点,你会的。如果您确实需要,那么您必须编写一个小视图。我可以在模板中使用它吗?我没弄对,如果你不需要传递任何论点,你会的。如果您确实需要,那么您必须编写一个小视图。我的问题不是导出上一篇或下一篇文章,而是要知道是否有某种方法可以从模板中完成此操作,而不必为其编写视图。我的问题不是导出上一篇或下一篇文章,但只是想知道是否有某种方法可以从模板内部完成,而无需为其编写视图。