有没有办法通过单个模板元素进行分页?

问题描述 投票:0回答:1

问题:

我目前有一个模板,有多个嵌套的div,包含不同的列表项。目前,如果我单击其中一个元素上的下一个按钮,整页将重新加载现在所有元素或在下一页或上一页上。

码:

div中的主要模板代码

      {% include "users/activities.html" with activities=action1 table_title='Signups' action_verb='action1' %}
      {% include "users/activities.html" with activities=action2 table_title='Actions' %}
      {% include "users/activities.html" with activities=action3 table_title='Actions 2'%}

分页活动模板代码:

    {% if activities.has_other_pages %}
    <div class="paginationWrap">
      <ul class="pagination">
        {% if activities.has_previous %}
          <li><a href="?page={{ activities.previous_page_number }}">&laquo;</a></li>
        {% else %}
          <li class="disabled"><span>&laquo;</span></li>
        {% endif %}
        {% for i in activities.paginator.page_range %}
          {% if activities.number == i %}
            <li class="active"><span> {{ i }} </span></li>
          {% else %}
            <li><a href="?page={{ i }}">{{ i }}</a></li>
          {% endif %}
        {% endfor %}
        {% if activities.has_next %}
          <li><a href="?page={{ activities.next_page_number }}">&raquo;</a></li>
        {% else %}
          <li class="disabled"><span>&raquo;</span></li>
        {% endif %}
      </ul>
    </div>
    {% endif %}

目标:

能够单击一个div而不是所有div返回页面更改。

django django-templates django-views
1个回答
0
投票

如果您不希望整个页面加载,请使用分页选项开发api,然后使用ajax请求命中它以使用ajax请求更新数据。

#python
class ActivitiesView(APIView):
    def get(self, request, format=None):
        activity_details = Activities.objects.filter(user=request.user) # or any other query
        paginator = Paginator()
        response = paginator.generate_response(activity_details, ActivitySerializer, request)
        return response


   #js
       $.ajax({
            type: "GET",
            url: "{% url ur_url %}",
            data: "page="+pageNum,
            async: false,
            dataType: 'json',
            success: function(data){
                el = $('#friends-data');
                update_div(data.json);
            }
        });

您也可以查看DRF PAGINATION

查看此页面还讨论using django views

© www.soinside.com 2019 - 2024. All rights reserved.