使用分页API在Django中分页结果?

时间:2019-05-14 13:49:25

标签: django

我正在使用OMDB API的搜索功能。

对于每个搜索,一次最多返回10个结果,并带有可选的page参数。

我有一个Django搜索表单,用于从OMDB API获取搜索结果。从API分页结果的最佳方法是什么?我希望有一个按钮,当按下该按钮时,实际上会将&page=附加到当前URL并再次提交表单。有没有实现该目标的Django-y方法?

我曾想过使用另一种形式将页面作为参数传递,但是对于一次搜索使用多种形式似乎太过分了。我还考虑过在搜索表单page中使用另一个字段来请求下一页,但是我不确定如何将其用作按钮。

1 个答案:

答案 0 :(得分:0)

我可以使用request.GET.urlencode完成此操作,如下所示

<a href="{% url 'search_movie' %}?{{ request.GET.urlencode }}&page={{ page|add:'-1'}}""> <- </a>

<a href="{% url 'search_movie' %}?{{ request.GET.urlencode }}&page={{ page|add:'1'}}""> -> </a>

这种方式有效,但似乎不是Django-y。也许有更好的方法来完成此操作。