【问题标题】:search box for all the pages after Django pagination of tableDjango分页表后所有页面的搜索框
【发布时间】:2021-10-03 07:43:24
【问题描述】:

我使用 Django 开发了一个网络应用程序。

我创建了一个表格分页。 如何为表的所有页面中的所有数据创建搜索输入?

view.py

def Browse_and_adopt(request):
    Title_list = Title.objects.all()
    page = request.GET.get('page', 1)

    paginator = Paginator(Title_list, 10)
    try:
        Titles = paginator.page(page)
    except PageNotAnInteger:
        Titles = paginator.page(1)
    except EmptyPage:
        Titles = paginator.page(paginator.num_pages)



    page_obj = paginator.get_page(page)

    return render(request, 'bms/inbox/Browse_and_adopt.html', {'Titles': Titles, 'page_obj': page_obj})

Browse_and_adopt.html

          <table id="myTable">
                <thead>
                <tr>
                    <th>Title</th>
                                 </tr>
                </thead>
                <tbody>
                % for book in page_obj %}
                <tr>
                    <td>{{ book.title }}</td>
                                </tr>
                {% endfor %}
                </tbody>
            </table>
<div class="pagination">
    <span class="step-links">
        {% if page_obj.has_previous %}
            <a href="?page=1">&laquo; first</a>
            <a href="?page={{ page_obj.previous_page_number }}">previous</a>
        {% endif %}

        <span class="current">
            Page {{ page_obj.number }} of {{ page_obj.paginator.num_pages }}.
        </span>

        {% if page_obj.has_next %}
            <a href="?page={{ page_obj.next_page_number }}">next</a>
            <a href="?page={{ page_obj.paginator.num_pages }}">last &raquo;</a>
        {% endif %}
    </span>
</div>
    

现在只显示第一页,如何为表格中的所有数据创建搜索栏?

【问题讨论】:

    标签: javascript django pagination


    【解决方案1】:

    视图不知道您要查找的对象。

    有两种方法可以做到这一点。

    在您编写过滤所有提供的表数据的 JS 回调事件侦听器的前端。 "不是最优的''

    或者您可以创建一个自定义视图,通过 post 请求接收对象 pk 并返回过滤结果,例如 url:

    
    urlpatterns = [
        path('update/<int:pk>/', updateViewSet.as_view()),
    ]
    

    【讨论】:

      猜你喜欢
      • 2021-01-28
      • 2023-03-12
      • 2019-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-28
      • 1970-01-01
      • 2019-10-17
      相关资源
      最近更新 更多