小编Jud*_*123的帖子

仅在 Django 中搜索结果分页不起作用

我已经在 django web 应用程序中实现了搜索栏和功能,如下所示:

def search_products(request):
    search_query = request.GET.get('search', '')
    products = Product.objects.filter(Q(name__icontains=search_query) | Q(brand__icontains=search_query))
    paginator = Paginator(products, 40)
    page_number = request.GET.get('page', 1)
    page = paginator.get_page(page_number)
    if page.has_next():
        next_url = f'?page={page.next_page_number()}'
    else:
        next_url = ''

 

    if page.has_previous():
        prev_url = f'?page={page.previous_page_number()}'
    else:
        prev_url = ''

 

    return render(request, 'store/search_products.html',
                  context={'products': page.object_list, 'page': page, 'next_page_url': next_url,
                           'prev_page_url': prev_url})
Run Code Online (Sandbox Code Playgroud)

URL 设置如下:

urlpatterns = [
    path('', views.store_view, name='store'),
    path('wishlist/', views.wishlist_view, name='wishlist'),
    path('update_item/', views.updateItem, name='update_item'),
    path('search_products/', views.search_products, name='search_products'),
]
Run Code Online (Sandbox Code Playgroud)

搜索结果的 HTML 如下:

<nav aria-label="Page navigation example"> …
Run Code Online (Sandbox Code Playgroud)

python django url pagination view

5
推荐指数
1
解决办法
1321
查看次数

标签 统计

django ×1

pagination ×1

python ×1

url ×1

view ×1