TemplateSyntaxError: ожидалась лексема '=', получена '['
Вот мой исходный код (извините, что прислал почти все, я не знаю, где ошибка):
<p class="font-bold">Apresentar a avaliação detalhada processo de negócio, trazendo todos os questionários,
suas perguntas e respostas.</p>
{% for item in data['quiz'] %}
{% if forloop.first or item['Questionario__QuestionarioDescricao'] != previous_questionario %}
{% if not forloop.first %}
</div>
{% endif %}
<h3 class="quiz-title">Questionário: {{ item['Questionario__QuestionarioDescricao'] }}</h3>
{% endif %}
<p class="font-bold">Pergunta: {{ item['QuestionarioItem__QuestionarioItemDescricao'] }}</p>
<p>Resposta: {{ item['QuestionarioRespostaTexto'] }} </p>
{% if item['QuestionarioRespostaSimNao'] == "S" %}
<p>Resposta (Sim/Não): Sim</p>
{% elif item['QuestionarioRespostaSimNao'] == "N" %}
<p>Resposta (Sim/Não): Não</p>
{% else %}
<p>Resposta (Sim/Não): {{ item['QuestionarioRespostaSimNao'] }}</p> <!-- Caso não seja S ou N -->
{% endif %}
{% with item['Questionario__QuestionarioDescricao'] as previous_questionario %}
<!-- Isso vai ajudar a saber se a próxima iteração é de um novo questionário -->
{% endwith %}
{% endfor %}
ошибка возникает в этой секции кода:
try:
jinja_template = Template(template)
rendered_html = jinja_template.render(
data=data, generation_date=datetime.now().strftime('%d/%m/%Y')
)
except TemplateError as te:
print(f"Erro ao processar o template Jinja2: {te}")
return
ошибка:
Erro ao processar o template Jinja2: expected token '=', got '['
Я пытаюсь сгенерировать pdf-отчет с помощью weasyprint lib из html-шаблона.
Jinja2 не поддерживает синтаксис with ... as ...
. Заменить
{% with item['Questionario__QuestionarioDescricao'] as previous_questionario %}
с
{% with previous_questionario = item['Questionario__QuestionarioDescricao'] %}