如何创建正确的 NEXT 和 PREV 按钮以在 Django 中检索下一个和上一个对象

Posted

技术标签:

【中文标题】如何创建正确的 NEXT 和 PREV 按钮以在 Django 中检索下一个和上一个对象【英文标题】:How to create proper NEXT & PREV buttons for retrieving next & prev objects in Django 【发布时间】:2013-07-17 22:10:41 【问题描述】:

我想将 NEXT 和 PREV 链接放到我的详细信息页面,以便轻松访问上一个或下一个项目。我不想用 DATE 或 ID 来做,因为这完全不切实际。

我不想使用:

Model.get_next_by_FOO(**kwargs)
Model.get_previous_by_FOO(**kwargs)

我如何设置一列,例如数字并按此排序。如果我做整数,它会排序为:

1 12 13 14 2 21 24 3 等....也不起作用。

CMS 中的用户指定顺序最简单的方法是什么,它会对其进行排序,然后我可以使用 NEXT 和 PREV。

models.py

class Art(models.Model):
    pub_date = models.DateTimeField('date published')
    title = models.CharField(max_length=200)
    title_url = models.SlugField(max_length=200)
    image = models.ImageField(blank=True, null=True, upload_to='uploaded_images')
    graphics = models.ImageField(upload_to='images/art/',blank=True)
    def image_thumbnail(self):
        return '<a href="/media/%s" target="_blank"><img  src="/media/%s"/></a>' % (self.graphics, self.graphics)
    image_thumbnail.allow_tags = True
    image_thumbnail.short_description = 'graphics'
    description = models.TextField(blank=True)

    def __unicode__(self):
        return self.title

views.py

def artdetail(request, art_title_url):
    art = Art.objects.all().filter(title_url=art_title_url)

    return render_to_response('nart-detail.html', 'art':art)

我怎样才能在这个例子中在模板中制作下一个和上一个按钮来获取下一个或上一个对象,如果我到最后它将隐藏下一个按钮等......

我主要关心的是通过排序(数字列)使其正确,我想错了,我想知道如何通过简单的自定义来实现用户满意的最佳方式。

【问题讨论】:

【参考方案1】:

我希望这会有所帮助: http://www.dajaxproject.com/pagination/

【讨论】:

以上是关于如何创建正确的 NEXT 和 PREV 按钮以在 Django 中检索下一个和上一个对象的主要内容,如果未能解决你的问题,请参考以下文章

使用 jquery 中的每个循环的 Next 和 Prev 按钮功能

为啥 jCarousel Next/Prev 按钮在添加项目后未启用

Prev 和 Next 按钮在断点处无法正常工作

我该如何分页: Prev 4 5 6 7 Next

禁用轮播 Prev Next 按钮

UIScrollView 上的 Next Prev 按钮