【问题标题】:Django - How do I change the sort order of search results while still on the page?Django - 如何在页面上更改搜索结果的排序顺序?
【发布时间】: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 %}

【问题讨论】:

    标签: django django-queryset


    【解决方案1】:

    如果您使用 javascript 呈现列表,则可以使用 javascript 来完成。由于 javascript 可以操作 DOM,因此您可以使用 javascript 代码对其进行排序,并将点击事件添加到这些排序函数中

    【讨论】:

    • 排序所需的结果信息位于各个模型对象中。我将如何使用 javascript 访问它? javascript click 事件如何访问 django 查询集对其进行排序?你能发布一个例子或指出一些我可以研究的例子吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多