使用django轻松排序表
webstack-django-sorting的Python项目详细描述
什么?
webstack-django-sorting是一个django应用程序,它允许对 数据表。使用它不需要对视图进行任何更改。它 为表标题提供排序链接。它是 django-pagination。
在testproj目录中提供了这些特性的演示。
功能
- django orm或python排序
- 在升序、降序和不排序之间切换
- 提供按不同标准排序的链接
- 应用订单的视觉反馈
- 支持Python2.7、3.5和3.6
- 支持链接标题的翻译
从v0.5.0及以下版本升级
要升级到webstack-django-sortingv1.0.0+,必须删除旧的中间件 webstack_django_sorting.middleware.SortingMiddleware来自MIDDLEWARE_CLASSES列表。
如何在项目中使用它
pip install webstack_django_sorting
将应用程序添加到INSTALLED_APPS列表:
INSTALLED_APPS = [ # ... 'webstack_django_sorting', ]
检查请求上下文处理器是否加载在TEMPLATES选项中:
TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ # ... 'django.template.context_processors.request', # ... ], }, }, ]
在模板顶部添加此行以加载排序标记:
{% load sorting_tags %}
决定要排序的变量,并使用 在迭代变量之前自动排序该变量的标记:
{% 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="Nom">Nom</a></th> <th><a href="/path/to/your/view/?sort=creation_date" title="Création">Création</a></th> </tr>
如果应用程序不支持国际化,可以使用 简单的{% anchor first_name Name %}。
就这样!