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