#python #flask #jinja2
#python #flask #jinja2
Вопрос:
Я пытаюсь создать динамическую таблицу в Flask с помощью jinja2. У меня есть таблица employee, таблица навыков и таблица skills_a (это ассоциативная таблица с идентификатором employee и идентификатором навыков).
Ожидаемый результат
Employee | Skill 1 | Skill 2 | Skill 3
Employee 1 X X X
Employee 2 X X
Employee 3 X X
Employee 4 X
Что я получаю прямо сейчас, так это
Employee | Skill 1 | Skill 2 | Skill 3
Employee 1 X X X
Employee 2 X X
Employee 3 X
Employee 4 X
Любые идеи о том, как правильно организовать это с пробелом, если у сотрудника нет такого навыка, были бы замечательными.
<table id="example" class="table table-striped table-bordered" style="width:100%">
<thead>
<tr>
<th>Employee</th>
{% for skill in skills %}
<th>{{skill.description}}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for emp in employee %}
<tr>
<td><a href="/emp/edit/{{ assoc.id }}"> {{ emp.last_name }}, {{emp.first_name}} </a></td>
{% for s in skills_a if emp.id == s.emp_id%}
{% for skil in skills %}
{% if skil.id == s.skill_id %}
<td>{{ s.skill_id }}</td>
{% continue%}
{% endif %}
{% endfor %}
{% endfor %}
</tr>
{% endfor %}
</table>
Комментарии:
1. Подумайте, как вы могли бы организовать выдачу
<td></td>
пары для представления отсутствия навыков.2. Я пытался использовать операторы else с <td></td> в нем, что в итоге происходит, так это то, что у меня слишком много пробелов в строке. Например, если у меня есть 2 навыка, я получаю 2 пробела в строке между первым навыком и вторым навыком, потому что он все еще проходит через внутренний цикл.