如何在Django中为第三方REST服务进行分页/分页

2024-04-25 22:17:00 发布

您现在位置:Python中文网/ 问答频道 /正文

以flickr为例,请求URL如下所示:

'http://api.flickr.com/services/rest/?&method=flickr.people.getPublicPhotos&api_key=' + settings.FLICKR_API_KEY + '&user_id=' + userid + '&format=json&per_page' + per_page + '&page=' + page + '&nojsoncallback=1'

其中page控制显示哪个页面,per_page控制返回的照片数量

为了简化问题,让我们将per_page固定。所以我的问题是,我如何实现一个分页系统,允许用户在网页上随时向前或向后移动一个页面?在

我想我需要传递页码来遍历请求URL,以便显示正确的数据。所以我想我不知道如何将模板绑定到视图.py. 本质上,我在寻找这个Rails question的Django版本。在

到目前为止,我遇到的示例和插件(例如django分页)主要处理由数据库查询产生的分页。在


Tags: keycomrestapihttpurlsettingsservice
2条回答

根据你的描述,我会说从page=1开始。如果page=1,在你的页面中有一个链接要继续,这将加载page=2。如果你在一个以外的其他页面上,生成两个链接,一个用于上一个页面,另一个用于下一个页面,相对于当前页面。在

如果你想得到更好的帮助,你必须给我们看一些代码。在

Django分页将处理任何对象列表,而不仅仅是来自数据库的调用。示例here实际上从一个与本地模型或数据库无关的示例开始。在

对于API类型调用,您只需要将对象读入列表,然后根据该列表创建新的Paginator对象。你所要做的就是给它一个你想要的每个页面的对象数量。其实很简单。在

相关问题 更多 >