【问题标题】:Using breadcrumbs with django-filter, QueryDict trouble使用带有 django-filter 的面包屑,QueryDict 麻烦
【发布时间】:2010-12-22 15:02:09
【问题描述】:

我正在使用 django-filter 进行深入研究,并希望为每个被过滤的项目创建面包屑。例如:

Price ranges:
10,000+
5,000-9,999
1,000-4,999
0-999

Bedrooms:
4
3
2
1

Price range 和 Bedrooms 下的每个项目都是在查询集中向下钻取的链接。

如果用户要单击这些链接,我想创建一个诸如 Price range 0-999Bedrooms 3 之类的面包屑导航,然后在他们单击第二个链接时显示 Price range 0-999 > Bedrooms 3Bedrooms 3 > Price range 0-999

面包屑应该保持顺序(我遇到问题的部分)并适用于任意数量的属性。单击面包屑跟踪中的链接应应用单击的过滤器以及跟踪中它之前的所有过滤器。

我想创建一个空的QueryDict,然后在输出面包屑时遍历 request.GET 以构建QueryDict,但由于某种原因,QueryDict 向后遍历其元素(请参阅文档)。

实现此目的最简洁的方法是什么?有谁知道为什么QueryDict 会这样工作? (我想我缺少一个用例。)感谢任何建议。

【问题讨论】:

    标签: django django-templates django-views


    【解决方案1】:

    跟踪会话中的顺序。因此,当单击第一个过滤器(例如 3 张床)时,将其存储。然后,如果单击另一个,则从会话中构建面包屑。假设第二个是 0-999,您将拉出所有现有的面包屑(在此示例中,您会找到 3 张床),然后添加最新的 (0-999)。

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 2020-05-23
      • 2020-07-21
      • 1970-01-01
      • 2011-10-11
      • 2013-02-01
      • 2019-03-27
      • 2013-07-29
      相关资源
      最近更新 更多