使用Django的过滤器的面包屑,麻烦的QueryDict
-
11-09-2019 - |
题
我使用的django滤波器,以向下想创建该过滤每个项目的面包屑。例如:
Price ranges:
10,000+
5,000-9,999
1,000-4,999
0-999
Bedrooms:
4
3
2
1
每个下价格范围和卧室的项目将在一个查询集向下钻取的链接。
我想创建面包屑如Price range 0-999
或Bedrooms 3
如果用户点击这些链接,然后显示Price range 0-999 > Bedrooms 3
或Bedrooms 3 > Price range 0-999
当他们点击的第二链路。
在面包屑应保持为了使任何数量的属性和工作(我在使用麻烦的部分)。点击面包屑的链路应该在其之前应用过滤器点击和所有过滤器中的踪迹。
我想创建一个空QueryDict
然后通过遍历request.GET中建立起来QueryDict
作为I输出面包屑,但是通过其的元件由于某些原因QueryDict
向后迭代(见文档)。
什么是完成这一任务的干净的方式?没有人知道为什么QueryDict
这种方式工作? (I想象有我缺少一个用例)。任何建议表示赞赏。
解决方案
跟踪在会话的数量级。因此第一过滤器被点击(例如,3张)时存储它。那么如果另一个被点击,从会话建立你的面包屑。说,第二个是0-999你拉任何现有的面包屑(在这个例子中,你会发现3张),然后在最新的粘性(0-999)。
不隶属于 StackOverflow