我在Django上犯错了

问题描述

嗨,我正在尝试使用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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...