django sortting_标签
我的页面上有排序django sortingtags组件 我希望根据页面的排序字段,以不同的方式呈现页面 我如何实现这一点 例如:django sortting_标签,django,Django,我的页面上有排序django sortingtags组件 我希望根据页面的排序字段,以不同的方式呈现页面 我如何实现这一点 例如: {% autosort object_list %} <tr> <th>{% anchor first_name Name %}</th> <th>{% anchor creation_date Creation %}</th> ... </
{% autosort object_list %}
<tr>
<th>{% anchor first_name Name %}</th>
<th>{% anchor creation_date Creation %}</th>
...
</tr>
它变成:
<tr>
<th><a href="/path/to/your/view/?sort=first_name" title="Name">Name</a></th>
<th><a href="/path/to/your/view/?sort=creation_date" title="Name">Creation</a></th>
...
</tr>
它根据我点击的链接呈现相同的页面,但如何检查它按哪个字段排序?使用Jinja2模板引擎,您可以拥有:
{% for tag in tags.order_by(sort_method) %}
<a href="{{tag.get_absolute_url()}}">{{tag.name}}</a>
{% endfor %}
我不确定django模板是否允许在{%for%}子句中使用过滤器,但您可以尝试创建一个过滤器,将order_by子句添加到标记中。
否则,在标记对象上迭代的自定义模板标记可能是一个解决方案。我不再使用django模板引擎了。我明白了。由于链接看起来像/path/to/your/view/?sort=first\u name,所以您只需要在视图函数中使get-from-request:sorted\u-by=request.get.get'sort'然后将其发送到模板。就这样