Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python paginator不在django工作_Python_Django - Fatal编程技术网

Python paginator不在django工作

Python paginator不在django工作,python,django,Python,Django,我跟随官方文档在Django中使用paginator,但它不起作用,它显示正确的页数,但在每一页上,都显示整个列表,而不是将其分为许多页 视图.py def home(request): current_user = request.user all_dress = Item.objects.all().filter(dress_active=True).order_by('-created_at') all_good = Item.objects.all().filte

我跟随官方文档在Django中使用paginator,但它不起作用,它显示正确的页数,但在每一页上,都显示整个列表,而不是将其分为许多页

视图.py

def home(request):
    current_user = request.user
    all_dress = Item.objects.all().filter(dress_active=True).order_by('-created_at')
    all_good = Item.objects.all().filter(dress_special=True)
    all_name = Name.objects.all()
    all_ads = Ads.objects.all()
    #pig
    paginator = Paginator(all_dress, 3) # Show 12 dress per page
    page = request.GET.get('page')
    dresss = paginator.get_page(page)

    context = {
        'all_dress': all_dress,
        'all_name': all_name,
        'current_user': current_user,
        'all_good':all_good,
        'all_ads':all_ads,
        'dresss':dresss,
    }
    return render(request, 'fostan/index.html',context)
HTML

    <div class="row">
    <div class="col">
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </div>
    <div class="col">
        <div dir="ltr">
     <div class="pagination" align="left">
    <span class="step-links" align="left">
        {% if dresss.has_previous %}
            <a href="?page=1">&laquo; first </a>
            <a href="?page={{ dresss.previous_page_number }}"> previous</a>
        {% endif %}

        <span class="current">
            Page number {{ dresss.number }} of {{ dresss.paginator.num_pages }}
        </span>
<br>
        {% if dresss.has_next %}
            <a href="?page={{ dresss.next_page_number }}">next </a>
            <a href="?page={{ dresss.paginator.num_pages }}">last  &raquo;</a>
        {% endif %}
    </span>
</div>
    </div>
</div>
    <div class="col">
              &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        </div>
    </div>

{%如果dresss.has_previous%}
{%endif%}
页码{{dresss.paginator.num_pages}的{{dresss.number}}

{%如果dresss.has_next%} {%endif%}
我有9个项目,我要求分页器每页只显示3个项目,结果是3页,每页都有相同的9个项目

项目列表

  <ul class="thumbnails" >
      {% for dress in all_dress %}
    <li class="span4 pull-left" >
      <div class="thumbnail">
        <a class="zoomTool" href="{% url 'dress_details' dress.pk%}" title="add to cart"><span class="icon-search"></span> عرض التفاصيل</a>
        <a  href="{% url 'dress_details' dress.pk%}"><img class="main" src="{{ dress.dress_image1.url }}" alt=""></a>
        <div class="caption">
          <h5> فستان  {{ dress.dress_name }} </h5>
          <h4>
              <a class="defaultBtn" href="{% url 'dress_details' dress.pk%}" title="إضفط لمشاهدة الفستان"><span class="icon-zoom-in"></span></a>

              <span class="pull-left">{{ dress.dress_price }} جنيه </span>
          </h4>
        </div>
      </div>
    </li>

      {% endfor %}

  </ul>
    {所有服装中的服装%}
  • فست㶌{dress.dress_name} {{dress.dress_price}}
  • {%endfor%}

您应该这样做:

paginator = Paginator(all_dress, 3)
page = request.GET.get('page')

try:
    dresss = paginator.page(page)
except PageNotAnInteger:
    dresss = paginator.page(1)
except EmptyPage:
    dresss = paginator.page(paginator.num_pages)

你应该这样做:

paginator = Paginator(all_dress, 3)
page = request.GET.get('page')

try:
    dresss = paginator.page(page)
except PageNotAnInteger:
    dresss = paginator.page(1)
except EmptyPage:
    dresss = paginator.page(paginator.num_pages)

显示项目的模板代码在哪里?但是无论如何:我很确定你正在显示来自
all\u dress
的项目,是吗?哦,是的-完全不相关,但是
YourModel.objects.all().filter(…)
是多余的,你应该只使用
YourMode.objects.filter(…)
谢谢.filter()的建议,是的,我正在使用al\u dress列出项目。检查代码的更新,这样您就可以使用
all\u dress
——这是完整的无冲突查询集——作为项目的源代码,您想知道为什么每页都会显示整个查询集?也许你应该更仔细地阅读文档和示例…显示项目的模板代码在哪里?但是无论如何:我很确定你正在显示来自
all\u dress
的项目,是吗?哦,是的-完全不相关,但是
YourModel.objects.all().filter(…)
是多余的,你应该只使用
YourMode.objects.filter(…)
谢谢.filter()的建议,是的,我正在使用al\u dress列出项目。检查代码的更新,这样您就可以使用
all\u dress
——这是完整的无冲突查询集——作为项目的源代码,您想知道为什么每页都会显示整个查询集?也许你应该更仔细地阅读文档和示例。。。