首页 > 解决方案 > 如何在 Flask HTML 模板中设置变量值

问题描述

我正在尝试为 HTML 模板中的 WTForm 字段分配一个值。我需要这样做,因为分配的值将取决于它所在的 for 循环的迭代。将值传递回 python 脚本的任何其他方式也可以。

我目前遇到错误。我正在尝试将表单的记录字段分配为等于它当前正在查看的记录的 ID。

下面是代码:

<div class="modal-body">
                <p>Name of Training: {{ record.training_name }}</p>
                <p>Name of Provider: {{ record.training_provider }}</p>
                <p>Date of Training: {{ record.date_submitted.strftime('%d/%m/%Y') }}</p>
                <p>CPD Hours: {{ record.cpd }}</p>
                <p>Certificate: <a href="{{ url_for('static', filename='certificates/'+record.certificate_path) }}" target="_blank">View</a></p>
                <form action="" method="post">
                  {{ form.hidden_tag() }}
                  <fieldset>
                    <div class="form-group">
                      {{ form.reason(class="form-control", placeholder="Reason for Denial (if applicable)") }}
                      {% set form.record.data=record.id %}
                    </div>
                  </fieldset>

尝试使用上述解决方案时,出现以下错误:jinja2.exceptions.TemplateSyntaxError: expected token 'end of statement block', got '.'

标签: flaskjinja2flask-wtforms

解决方案


如果我对您的理解正确:

{{ form.record(value=record.id, class="d-none") }}

代替

{% set form.record.data=record.id %}

推荐阅读