Django sortting_tags - PullRequest
       21

Django sortting_tags

0 голосов
/ 19 ноября 2010

У меня есть компонент сортировки 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>

Он отображает одну и ту же страницу в зависимости от того, по какой ссылке я щелкнул, но как проверить, по какому полю она отсортирована?

Ответы [ 2 ]

0 голосов
/ 19 ноября 2010

Я понял. Поскольку ссылка выглядит как /path/to/your/view/?sort=first_name, вам просто нужно в функции представлений сделать get from request: sorted_by = request.GET.get ('sort'), чем отправить ее в шаблон. Вот и все!

0 голосов
/ 19 ноября 2010

С помощью движка шаблонов Jinja2 вы можете получить:

{% for tag in tags.order_by(sort_method) %}
    <a href="{{tag.get_absolute_url()}}">{{tag.name}}</a>
{% endfor %}

Я не уверен, разрешит ли использование шаблонов django фильтр в предложении {% for %}, но вы можете попробовать создать фильтр, добавляющий order_by оговорка к тегам.В противном случае пользовательский тег шаблона для итерации по объектам тега может быть решением.Я больше не использую шаблонизатор django.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...