Django模板中对象排序的辅助应用程序。
项目描述
django-sorter帮助在Django模板中对对象进行排序,无需修改您的视图,可以在同一页面或模板中多次使用,提供轻松生成链接和表单以切换排序条件的辅助工具(包括排序顺序),并且有约100%的测试覆盖率。
快速入门
使用您喜欢的Python打包工具获取应用程序,例如
pip install django-sorter
在INSTALLED_APPS设置中列出此应用程序。您的设置文件可能看起来像这样
INSTALLED_APPS = ( # ... 'sorter', )
如果它尚未添加到您的设置中,请将request模板上下文处理器添加到TEMPLATE_CONTEXT_PROCESSORS设置中(您可能需要添加它)
TEMPLATE_CONTEXT_PROCESSORS = ( # ... 'django.core.context_processors.request', )
指定允许的排序条件,至少是默认的'sort'排序查询字符串参数
SORTER_ALLOWED_CRITERIA = { 'sort': ['first_name', 'creation_date', 'title'], }
在您的模板顶部添加此行以加载排序标记
{% load sorter_tags %}
确定您想要排序的变量,并在迭代之前使用排序标记在该变量上。
{% sort objects as sorted_objects %}
可选地,您可以选择显示不同的排序链接或表单
<tr> <th>{% sortlink by "first_name" %}By first name{% endsortlink %}</th> <th>{% sortlink by "creation_date,-title" %}By creation date and title{% endsortlink %}</th> ... </tr>
模板标签接受以逗号分隔的排序语句列表。它也是一个块标签,允许您设置生成的链接的标签。前面的代码片段将渲染如下
<tr> <th><a href="/?sort=first_name" title="Sort by 'first_name' (asc)">By name</a></th> <th><a href="/?sort=creation_date,-title" title="Sort by 'creation_date' (asc) and 'title' (desc)">By creation and title</a></th> ... </tr>
类似地,{% sortform %} 模板标签将渲染一个表单而不是简单的链接。
项目详情
关闭
django-sorter-0.2.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 6863b881e2c8ebb5cb84eeae6cbf1d0902298d2bc15c14af24856b9935e4f4ef |
|
MD5 | c975bf5864fb3d153bf6af327536901c |
|
BLAKE2b-256 | 2e711bdd7a1793c4edbec038442d9561ca1740fde40172f56bb13c34f7cb1bd7 |