我在我的页面上有排序django sortingtags组件。
我希望我的页面根据排序字段的不同而呈现不同。
我该如何实现它呢?
示例:
{% 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>它根据我点击的链接呈现相同的页面,但是如何检查它按哪个字段排序呢?
发布于 2010-11-20 03:16:10
这样啊,原来是这么回事。由于链接看起来像排序,所以您只需在视图函数中使用make get from /path/to/your/view/?sort=first_name:sorted_by=request.GET.get('sort'),然后将其发送到模板。就是这样!
发布于 2010-11-20 02:39:46
使用Jinja2模板引擎,您可以拥有:
{% for tag in tags.order_by(sort_method) %}
<a href="{{tag.get_absolute_url()}}">{{tag.name}}</a>
{% endfor %}我不确定django模板是否允许在{% for %}子句中使用过滤器,但您可以尝试创建一个过滤器,将order_by子句添加到标记中。否则,在标签对象上迭代的自定义模板标签可能是解决方案。我不再使用django模板引擎了。
https://stackoverflow.com/questions/4227989
复制相似问题