我有一个页面,我在其中向用户显示查询集的结果。我想做的是允许用户单击链接以应用过滤器。
目前我所做的是让链接将“get”参数传递给页面以应用过滤器。过滤器可以引用其他模型或自定义过滤器(例如未分配的过滤器)
为了提供体面的用户体验,实现需要做一些事情
- 在视图中:
- 检查传递的过滤器参数是否有效
- 检查它是什么类型的过滤器(基于其他模型或自定义过滤器),以便将正确的条件应用于查询集
- (可选)一种使过滤器累积的方法(即您可以继续添加过滤器)
- 在模板中:
- 根据选择的过滤器显示正确的结果集
- 显示过滤器时,识别我们应用了哪个过滤器,以便当前应用的过滤器显示为文本而不是超链接。
我认为这必须足够普遍,以至于除了视图和模板中明显的 if/else 语句之外,有人必须为此找到设计模式或最佳实践。
在那儿?