Как отсортировать вывод этого кода шаблона django в алфавитном порядке? - PullRequest
0 голосов
/ 31 мая 2011

У меня есть следующий код в шаблоне django:

{% for object in object_list %}
{% with game=object.game %}

<a href="{% url game_view game.id game.title|slugify %}" class="img_link alphabeticList">{{game.title}}</a>

{% endwith %}
{% endfor %}

Он выводит все игры в данной категории, например:

Armor Dude
Midnight Strike
Super Mafia Bros
Mission To Mars
Zed
game1 test 3
Examine the mystery of the crime in Apartment 13
Manor Freedom : The Patron's Chamber
Escape Journey
Outrun Summer Camp
Make your way through zombies hordes
Intelligent Guy
Run 3D : The Bathroom
Lady Gaga Escape Game
Insane Box
Will you do me A Small Favor?
Shanty Breakout
Cloudy Tumble Second Chaptert
Hotel Area Lock In
Escape From the Aircraft Hangar
RANDOM GAMES
Scene of the Caper: Gold Toy Scene of the Caper: ...    
Escape Journey Escape Journey
Cloudy Tumble Second Chaptert Cloudy Tumble Second...   
Midnight Strike Midnight Strike
BB EXCLUSIVES
Soldier Of Pain Soldier Of Pain     
Walk The Stork Walk The Stork

Как получить выводсортировка по алфавиту и под буквой, с которой начинается название каждой игры, например:

A
---

Apple
Alligator

B
---

Burger
Bungee
Bear

C
---

cat

и т. д. *

Обратите внимание, я могу использовать только теги шаблонов ине имеет доступа к любому коду Python.

1 Ответ

2 голосов
/ 31 мая 2011

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

Если нет, то, возможно, javascript может быть вашим единственным способом;хотя это, конечно, не рекомендуется.

{% regroup object_list|dictsort:"game.title" by game.title|upper|slice:"0" as grouped_list %}

{% for group in grouped_list %}
  <p>{{ group.grouper }}</p>

  {% for game in group.list %}
  <a href="{% url game_view game.id game.title|slugify %}" class="img_link alphabeticList">{{ game.title }}</a>
  {% endfor %}
{% endfor %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...