Django wyświetlenie listy gdy spełnia warunek

0
{% for subforum in subforum_list %}
                                    {% if subforum.subforum_forum_id == forum.id %}
                                          <div class="subforum">
                                                <strong>Podforum:</strong>
                                                <ul>
                                                    <li>
                                                        <a href="/{{ subforum.subforum_link }}/">{{ subforum.subforum_name }}</a>
                                                    </li>
                                                </ul>
                                          </div>

                                    {% endif %} 
                                {% endfor %}   

Chce wyświetlić liste podfor, które należą do danego działu (forum.id). Chce aby były one po przecinku Np. Podforum: Pierwsze, Drugie, Trzecie
Udało mi się to za pomocą własnego tagu w ten sposób.

{% if forloop.first %}
   <div class="subforum">
   <strong>Podforum:</strong>
   <ul>                                        
{% endif%}
{% load set_var %}   
{% if a != 3 %}
{% set a = 1 %}
{% endif %}
{% if a == 1 %}<li><a href="/{{ subforum.subforum_link}}/">{{ subforum.subforum_name }}</a></li>{% endif %}
{% if a == 3 %}<li>, <a href="/{{ subforum.subforum_link }}/">{{ subforum.subforum_name}}</a></li>{% endif %}
{% set a = 3 %}
{% endif %}
   {% if forloop.last %}
                                        </ul>
                                        </div> 
                                    {% endif %}

Ale nie uważam tego ze dobre rożwiązanie. Z góry dzięki za pomoc!

0
{% for subforum in subforum_list %}
                                    {% if subforum.subforum_forum_id == forum.id %}
                                        {% if a == 1 %}
                                            {% if forloop.first %}
                                                <div class="subforum">
                                                <strong>Podforum:</strong>
                                                <ul>
                                            {% endif %}
                                            
                                                <li>
                                                    <img src="{{ STATIC_PREFIX }}img/subforum.png">
                                                    <a href="/{{ subforum.subforum_link }}/">{{ subforum.subforum_name }}</a>
                                                </li>
                                                
                                            {% if forloop.last %}
                                            </ul>
                                            </div>
                                            {% set a = 2 %}
                                            {% endif %}
                                            
                                        {% endif %}  
                                    {% endif %}                                  
                            {% endfor %}                    

Ma ktoś pomysł jak zrezygnować tutaj z set_var? Jest to własny tag to ustawienia zmiennej wewnatrż szablonów.

1

Lista for oraz pozostałe zmienne powinny być przygotowane w widoku i przesłane do szablonu, a nie filtrować w szablonie.

0

W jaki sposób? Rozdrabniać to na kilka zmiennych? Tylko jak?

0

Pokaż kod widoku, w którym zwracasz ten szablon.
Listę for możesz wyszukać za pomocą filter i przesłać do widoku, a jeśli ma być jedno to get_object.
Potem w pętli możesz normalnie wyświetlić listę jego własnych podfor po przecinku na podstawie zdefiniowanej relacji ?

0

Ogólnie jest tak. Mam zmienną z listą kategori. Zmienną z listą for - każde forum jest przypisane do jakieś kategori i listę subfor - każde subforum jest przypisane do jakiegoś forum.

0
maciejmt napisał(a):

Pokaż kod widoku, w którym zwracasz ten szablon.
Listę for możesz wyszukać za pomocą filter i przesłać do widoku, a jeśli ma być jedno to get_object.
Potem w pętli możesz normalnie wyświetlić listę jego własnych podfor po przecinku na podstawie zdefiniowanej relacji ?

dla jednego nie ma problemu gorzej dla całej listy kategori, for i podfor

1 użytkowników online, w tym zalogowanych: 0, gości: 1