Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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 Django-如何一次显示1000个型号10个?_Python_Django - Fatal编程技术网

Python Django-如何一次显示1000个型号10个?

Python Django-如何一次显示1000个型号10个?,python,django,Python,Django,我有一个视图,我希望用户能够向下滚动1000+django对象的小div,一次显示的对象不超过10个。还有一个搜索功能 最好的选择是什么 我应该将对象存储在浏览器中并检索它们吗? 我是否应该将视图重写为一次显示10? 有优雅的js解决方案吗 谢谢大家。Django已经内置了。除此之外,还有几个项目提供了AJAX解决方案,一个是 另一个解决方案可能类似于。还有一个名为的项目帮助您将其与Django集成。几乎没有任何情况下您可以将所有内容加载到客户端进行分页。例如,您可以使用firebase或很少重

我有一个视图,我希望用户能够向下滚动1000+django对象的小div,一次显示的对象不超过10个。还有一个搜索功能

最好的选择是什么

我应该将对象存储在浏览器中并检索它们吗? 我是否应该将视图重写为一次显示10? 有优雅的js解决方案吗

谢谢大家。

Django已经内置了。除此之外,还有几个项目提供了AJAX解决方案,一个是


另一个解决方案可能类似于。还有一个名为

的项目帮助您将其与Django集成。几乎没有任何情况下您可以将所有内容加载到客户端进行分页。例如,您可以使用firebase或很少重新加载页面

因此,对于您的情况,您应该实现ajax视图以获取所需的部分数据。正如马丁所说,Django有性感且易于使用的类Paginator,它将帮助您处理所有事情

您的观点如下:

@ajax_request
def my_view_ajax(req):
    pages = Paginator(Doc.objects.all(), 10)
    page = pages.page(int(request.GET.get('page', 1)))
    return {
        'total_pages': p.num_pages,
        'data': [{
            'id': doc.id,
            'title': doc.title,
            'excerpt': doc.excerpt,
        } for doc in page.object_list]
    }

因此,您需要显示总页面和数据。

视图当前的外观如何?谢谢。它只是执行一个MyObject.objects.all()然后在模板中执行一个for循环来显示对象。谢谢你的建议。我一定会考虑这些选择!