搜索表django分页后所有页面的框

zd287kbt  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(407)

我用django开发了一个web应用程序。
我已经创建了一个表分页。如何为表的所有页面中的所有数据创建搜索输入?
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})

浏览_和_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>

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

tquggr8v

tquggr8v1#

视图不知道您要查找的对象。
有两种方法可以做到这一点。
在前端,您将编写一个js回调事件侦听器,用于过滤所有提供的表数据。”“非最佳”
或者,您可以创建一个自定义视图,通过post请求接收对象pk并返回过滤结果,例如url:

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

相关问题