我有一个简单的博客应用程序,该应用程序使用分页器列出文章。
我希望能够在文章详细信息页面中添加按钮,以将用户定向到本文所在的页面。
我想从当前url中获取文件并将其发送给分页程序,以便将用户定向到文章所在的?page = X。
我检查了分页器文档,但没有找到有关如何检索特定对象页码的任何信息。
我的观点:
def blog(request):
posts = Article.objects.all()
paginator = Paginator(posts, 3)
page = request.GET.get('page')
posts = paginator.get_page(page)
return render(request,'blog.html',{'posts':posts})
def article_id(request,slug):
articleid = Article.objects.get(slug=slug)
return render(request, 'blogid.html', {'article':articleid})
我的网址:
urlpatterns = [
url(r'^$', views.blog, name = 'blog'),
url(r'^(?P<slug>[\w-]+)/$', views.article_id, name = 'article_id'),
]
答案 0 :(得分:1)
您可以通过以下方式获取对象的位置
position=Article.objects.filter(your_filter_key=your_filter_value).order_by('other_filter_order').count()
然后通过获取页码
items_per_page=yout_items_per_page
page = int(position/items_per_page)
答案 1 :(得分:0)
借助Giancarlo的答案解决了。
我在下面添加到article_id
def article_id(request,slug):
articleid = Article.objects.get(slug=slug)
position = Article.objects.filter(date__gt=articleid.date).count()
page = str(int((position)/3)+1)
return render(request, 'blogid.html', {'article':articleid, 'page':page})
然后在模板中,链接看起来类似于/ blog /?page = {{{page}}