[英]Scrapy Next Page Button and Previous Page Button are on the same class, can't reach the next page
[英]Next page button not working same page is reloading
我的數據庫中有6個帖子,我希望每頁顯示3個帖子。 一切正常,沒有任何錯誤,但是當我單擊“下一頁”鏈接時,相同的帖子正在重新加載。 這里的步驟,
正在成功加載,並且頁面中有3個帖子。 另外,按預期,“下一頁”鏈接也位於頁面底部。
當我單擊下一頁時,URL變為:
但是正如我所說,首頁的帖子正在重新加載。
url.py:
path('',views.getPosts,name="bloghome"),
path('/<int:selected_page>/',views.getPosts,name="bloghome"),
關於分頁的view.py函數:
def getPosts(request,selected_page=1):
posts = Posts.objects.all()
pages = Paginator(posts,3) #Show 3 post per page
try:
returned_page = pages.get_page(selected_page)
except EmptyPage:
returned_page = pages.page(pages.num_pages)
return render(request,'blog.html',{'page':returned_page,
'posts':returned_page.object_list
})
發布列表頁面的模板:
{% extends 'blog_mainpage_assets.html' %}
{%load static%}
{% block document_body%}
<div class="container" style="margin-top:40px;">
{%for post in posts%}
<div class="post">
<div class="baslikveyazi">
<div class="baslik_2">
<h2><a href="{% url 'post_detail' post.slug %}">{{post.post_title}}</a></h2>
</div>
<div class="yazi_2">
<div style="word-wrap: break-word;"><p style="font-size:20px;line-height:2;">{{post.post_body|truncatechars:100}}</p></div>
</div>
</div>
</div>
{%endfor%}
{% if page.has_previous %}
<a href="{% url 'bloghome' %}?page={{page.previous_page_number}}">Back</a>
{% endif %}
{% if page.has_next %}
<a href="{% url 'bloghome' %}?page={{page.next_page_number}}">Next</a>
{% endif %}
</div>
{% endblock document_body%}
您的第二個URL格式為/blog/<page>/
但這不是您在鏈接中構造的URL。 您的鏈接類似於/blog/?page=2
。 查詢參數( ?page=2
)與URL路徑( /2/
)完全不同,因此視圖中的selected_page
絕不會是1
以外的任何值。
我將從您的URL配置中刪除第二個URL,然后在視圖中檢查查詢參數:
def getPosts(request):
posts = Posts.objects.all()
pages = Paginator(posts, 3) #Show 3 post per page
selected_page = request.GET.get('page', 1)
try:
returned_page = pages.get_page(selected_page)
except EmptyPage:
returned_page = pages.page(pages.num_pages)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.