Django 和 Ajax。无限滚动工具的正确使用方法
Django and Ajax. Right way of infinite scroll implement
我有一个页面,用户可以在其中选择一些标签,然后在我看来,我根据所选标签对 mongodb 和 return 进行聚合查询。有很多文档,这就是为什么我只显示固定数量的文档。我想使用 ajax.
的无限滚动
因此,当用户向下滚动时,带有 $limit 和 $skip 值的 Ajax-request 将传递到我的视图,到达 .is_ajax() 部分,并从 Command Cursor 取回值聚合查询。
在 Django 中这样做是正确的方法吗?我是新手,没有遇到过这样的事情。
我正在使用 Django 1.8 和 mongoengine。
下面link有一些关于无限分页的好点子。试试看 :
http://alexkehayias.tumblr.com/post/15724356031/infinite-scroll-django
另一种选择是使用以下应用程序:http://django-endless-pagination.readthedocs.org/en/latest/twitter_pagination.html
你很接近,但如果你允许用户设置 $limit 和 $skip,你就是在让恶意用户设置 $skip = 0
和 $limit = 'some_large_number'
,尝试使您的服务器过载。您最好只请求页码,并使用它在服务器上计算要显示的结果。 Here is a tutorial showing a working example(完全免责声明,我写了教程)。如果您需要任何进一步解释,请告诉我。
我有一个页面,用户可以在其中选择一些标签,然后在我看来,我根据所选标签对 mongodb 和 return 进行聚合查询。有很多文档,这就是为什么我只显示固定数量的文档。我想使用 ajax.
的无限滚动因此,当用户向下滚动时,带有 $limit 和 $skip 值的 Ajax-request 将传递到我的视图,到达 .is_ajax() 部分,并从 Command Cursor 取回值聚合查询。
在 Django 中这样做是正确的方法吗?我是新手,没有遇到过这样的事情。
我正在使用 Django 1.8 和 mongoengine。
下面link有一些关于无限分页的好点子。试试看 : http://alexkehayias.tumblr.com/post/15724356031/infinite-scroll-django
另一种选择是使用以下应用程序:http://django-endless-pagination.readthedocs.org/en/latest/twitter_pagination.html
你很接近,但如果你允许用户设置 $limit 和 $skip,你就是在让恶意用户设置 $skip = 0
和 $limit = 'some_large_number'
,尝试使您的服务器过载。您最好只请求页码,并使用它在服务器上计算要显示的结果。 Here is a tutorial showing a working example(完全免责声明,我写了教程)。如果您需要任何进一步解释,请告诉我。