Я пытаюсь отобразить страницу с некоторыми данными, передавая словарь в шаблон jinja.Это занимает смехотворно много времени для загрузки, легко 5-10 секунд для очень маленького набора данных.Вот так выглядит мой Python
@app.route("/request")
def request_page():
category_dict = CONFIG.get_categories()
return render_template('request.html', category_dict=category_dict)
А вот так выглядит мой HTML
{% extends "layout.html" %}
{% block title %}Categories{% endblock %}
{% block content %}
<h1 class="display-4">Category List</h1>
<form method='post' action='/result' onsubmit="return checkForm(this)">
<div class="form-group">
{% for category, list in category_dict.items() %}
<div class="card">
<div class="card-header">
<a class="text-dark" data-toggle="collapse" href="#{{loop.index}}">
{{category}}
</a>
</div>
<div id="{{loop.index}}" class="collapse">
<div class="card-body text-small">
<ul class="list-group list-group-flush">
{% for project in list %}
<li class="list-group-item">
<div class="form-check">
<input class="form-check-input" type="checkbox" name="checkbox" value="{{project}}" id="{{project}}">
<label class="form-check-label" for="{{project}}">
{{project}}
</label>
</div>
</li>
{% endfor %}
</ul>
</div>
</div>
</div>
{% endfor %}
<br>
<h5>Reason for group access</h5>
<textarea rows="4" cols="60" name="reasons">
</textarea>
<br>
<button class='btn btn-primary' name='Submit'>Submit</button>
</form>
{% endblock %}
Итак, в качестве обзора, это вложенный цикл for, где внешний цикл повторяется черезПары ключ-значение словаря и внутреннего цикла перебирают значения, представляющие собой списки строк.Словарь, который я прохожу, не очень большой, ~ 5 клавиш и, возможно, ~ 5 пунктов в каждом списке.Выполнение некоторых тестов также показало, что замедление определенно происходит с этим фрагментом кода в HTML, а не в layout.html или чем-либо еще.