问题描述
嗨,我正在尝试使用Django分页器,但出现404错误 我想访问此网址http://127.0.0.1:8000/products/2/?page=1 但我得到404错误 问题出在哪里?请帮助我
views.py
from django.core.paginator import Paginator,EmptyPage,InvalidPage
def sort(request,value):
category = Category.objects.all()
if(value=='2'):
products_list = Product.objects.all().order_by('price')
elif(value=='3'):
products_list = Product.objects.all().order_by('-price')
elif(value=='4') :
products_list = Product.objects.all().order_by('-id')
elif (value == '5'):
products_list = Product.objects.all().order_by('-view')
paginator = Paginator(products_list,5)
try:
page=int(request.GET.get('page','1'))
except:
page = 1
try:
products = paginator.page(page)
except(EmptyPage,InvalidPage):
products = paginator.page(paginator.num_pages)
context = {
'products': products,'category': category,'value' : value
}
return render(request,'shopPage.html',context)
urls.py
path('products/<value>',views.sort,name='sort'),
shopPage.html
<div>
<ul>
{% if products.has_prevIoUs %}>
<li><a href="products/?page={{ products.prevIoUs_page_number }}">prevIoUs</a></li>
{% endif %}
{% for pg in products.paginator.page_range %}
{% if products.number == pg %}
<li class="active"><a href="products/?page{{ pg }}">{{ pg }}</a></li>
{% else %}
<li><a href="products/?page{{ pg }}">{{ pg }}</a></li>
{% endif %}
{% endfor %}
{% if products.has_next %}
<li><a href="products/?page={{ products.next_page_number }}">next</a></li>
{% endif %}
</ul>
</div>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)