Django - 如何在页面上更改搜索结果的排序顺序?
Posted
技术标签:
【中文标题】Django - 如何在页面上更改搜索结果的排序顺序?【英文标题】:Django - How do I change the sort order of search results while still on the page? 【发布时间】:2019-12-11 05:44:48 【问题描述】:我有一个用户搜索结果的列表,我希望用户能够重新排序
如他们所愿。在后端对查询集进行预排序很简单,views.py
这是每个 Google
搜索提出了该主题。但我需要由用户完成。在前端。 这是
通常使用下拉菜单完成,其中包含允许按字母顺序 A-Z 排序或按添加日期排序等选项。
我无法通过 Google 搜索或涵盖该问题的单个教程找到答案,但我发现它几乎无处不在。 解决方案是否涉及 ajax?我将如何使用 ajax 来做到这一点?在 Django 中是否有一个 py 模块可以做到这一点?
我正在呈现类似这样的搜索结果
% for stor in stories %
<div>
<span class="story_block stock_bg">
<a href="stor.get_absolute_url">
<div class="story_con_block">
<p class="s_t">stor.title</p>
<p>by <strong>stor.author.username</strong></p>
<p>stor.summary</p>
</div>
</a>
</span>
</div>
% endfor %
【问题讨论】:
【参考方案1】:如果您使用 javascript 呈现列表,则可以使用 javascript 来完成。由于 javascript 可以操作 DOM,因此您可以使用 javascript 代码对其进行排序,并将点击事件添加到这些排序函数中
【讨论】:
排序所需的结果信息位于各个模型对象中。我将如何使用 javascript 访问它? javascript click 事件如何访问 django 查询集对其进行排序?你能发布一个例子或指出一些我可以研究的例子吗? ***.com/questions/739942/… 看看这个以上是关于Django - 如何在页面上更改搜索结果的排序顺序?的主要内容,如果未能解决你的问题,请参考以下文章
在 Django/PostgreSQL 搜索结果页面上突出显示搜索词