跳转到主要内容

Django模板中对象排序的辅助应用程序。

项目描述

django-sorter帮助在Django模板中对对象进行排序,无需修改您的视图,可以在同一页面或模板中多次使用,提供轻松生成链接和表单以切换排序条件的辅助工具(包括排序顺序),并且有约100%的测试覆盖率。

快速入门

  1. 使用您喜欢的Python打包工具获取应用程序,例如

    pip install django-sorter
  2. INSTALLED_APPS设置中列出此应用程序。您的设置文件可能看起来像这样

    INSTALLED_APPS = (
        # ...
        'sorter',
    )
  3. 如果它尚未添加到您的设置中,请将request模板上下文处理器添加到TEMPLATE_CONTEXT_PROCESSORS设置中(您可能需要添加它

    TEMPLATE_CONTEXT_PROCESSORS = (
        # ...
        'django.core.context_processors.request',
    )
  4. 指定允许的排序条件,至少是默认的'sort'排序查询字符串参数

    SORTER_ALLOWED_CRITERIA = {
        'sort': ['first_name', 'creation_date', 'title'],
    }
  5. 在您的模板顶部添加此行以加载排序标记

    {% load sorter_tags %}
  6. 确定您想要排序的变量,并在迭代之前使用排序标记在该变量上。

    {% sort objects as sorted_objects %}
  7. 可选地,您可以选择显示不同的排序链接或表单

    <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 (9.3 kB 查看散列)

上传时间

由以下提供支持