Как применить css к трехуровневому рекурсивному дереву mptt в шаблоне Django? - PullRequest
1 голос
/ 24 января 2020

У меня есть следующий шаблон для дерева Django -mptt:

{% load static i18n %}
<div id="work_tree">

{% load mptt_tags %}

<ol>
    {% recursetree piece_tree %}
        <li>
            <a href="../{{ node.id }}">{{ node.name_w_version }}</a>
            {% if not node.is_leaf_node %}
                <ul class="children">
                    <em>{{ children }}</em>
                </ul>             
            {% endif %}
        </li>
    {% endrecursetree %}
</ol>
</div>

Дерево имеет три уровня:

Level 1
   |---> Level 2
            |---> Level 3

Я бы хотел по-разному стилизовать каждый уровень. Что мне нужно изменить в моем шаблоне, чтобы выполнить sh this?

1 Ответ

1 голос
/ 24 января 2020

Каждый node в вашем шаблоне является экземпляром вашей модели mptt. Поэтому вы можете получить доступ к его уровню в вашем шаблоне:

{% recursetree piece_tree %}
    <li>
        <a href="../{{ node.id }}">{{ node.name_w_version }}</a>
        {% if not node.is_leaf_node %}
            <ul class="children {% if node.level == 1 %}class_1{% elif node.level == 2 %}class_2{% endif %}">
                <em>{{ children }}</em>
            </ul>             
        {% endif %}
    </li>
{% endrecursetree %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...