首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在搜索结果的object-detail-view中实现上一个和下一个链接?

问如何在搜索结果的object-detail-view中实现上一个和下一个链接?
EN

Stack Overflow用户
提问于 2011-10-15 22:09:19
回答 3查看 1K关注 0票数 3

我几乎完成了我的第一个生产就绪的django项目。我还有一个大问题:我有一个文章-搜索-视图,它呈现了一个找到的文章的列表。分页对于结果列表来说工作得很好。当我单击文章标题时,将打开object-detail页面。我想要的:object-detail-页面上的上一个和下一个结果链接。

我尝试了几种方法来解决类似的问题,但没有找到一个有效的解决方案。如果我尝试使用只有一篇文章的分页器(对于object-detail-page),我需要知道结果列表中的分页器索引。但是怎么做呢?

即使是.get_next(以前的)_by_foo-方法在这个场景中也不是真正可用的。还是我在这里漏掉了什么明显的东西?提前感谢大家的帮助!

EN

回答 3

Stack Overflow用户

发布于 2011-10-15 23:40:50

django中的Paginator与列表一起工作。在列表中搜索索引的一种方法是这样的:

代码语言:javascript
复制
['aaa', 'bbb', 'ccc'].index('bbb') # result: 1

或者像这样:

代码语言:javascript
复制
model = object()
[object(), object(), model].index(model) # result: 2

希望这能给你一个提示,告诉你如何在列表中找到分页器索引。

票数 1
EN

Stack Overflow用户

发布于 2011-10-15 23:48:47

如果你想在object-details-page上获得一个指向搜索结果中下一项的链接,你必须从搜索结果中获取下一项。要获取下一个条目,您需要执行与在搜索页面中执行的相同的搜索查询,并应用一些额外的过滤器来仅获取该列表中的下一个条目。但这里有一个问题:在object-details页面中只有object-id,而没有search-term。如果没有search-term,您将无法创建搜索查询。这意味着你需要以某种方式获取搜索词。你是怎么得到这个搜索词的?您需要以某种方式从搜索结果页面传递它。您可以将搜索词保存在session/cookie中,或者更好:您可以通过GET参数将其传递给object-details页面。现在,当您在对象显示页面中搜索术语时,您可以执行搜索查询,并且可以从该查询中选择下一个和前一个对象。

我认为现在你应该能够实现它了。如果没有,你可以展示你的object-details视图的一些代码,也许有人会为你写一些代码。

票数 1
EN

Stack Overflow用户

发布于 2016-04-23 19:29:11

你可以用这个

代码语言:javascript
复制
<a href="?page={{ page_obj.next_page_number }}">next &raquo;</a>
<a href="?page={{ page_obj.previous_page_number }}">&laquo; previous</a>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7778308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档