如何在 Jinja2 的方法调用中引用对象 属性?
How do I reference an object property in a method call in Jinja2?
我正在尝试使用 jinja2 和 flask-wtf 在 flask 应用程序中呈现一个表单,但我无法弄清楚如何处理添加包含 属性 作为其一部分的 onclick 生成的参数参数。
您可以在表单标签部分看到我将 onclick 设置为调用 javascript 函数并传递当前循环对象的名称 属性,这按预期工作。但是,当我在表单字段部分时,我需要将 onclick 作为关键字参数传递给循环对象,并且需要使我的参数的参数成为对象名称 属性。这行不通。
这里是一个简短的例子:
<form class="form">
{% for entry_field in form %}
{{ entry_field.label() }}
{{ entry_field(onclick="jsFunction({{entry_field.name}})}}
{% endfor %}
</form>
这是一个完整的例子:
<form id="reg_form" class="form text-left" method="post" role="form">
{{ form.csrf_token }}
{% for entry_field in form %}
{% if entry_field != form.csrf_token %}
<div class="form-group row">
<!--form label-->
<a href="#" onclick="showNotes('{{entry_field.name}}')">
{{ entry_field.label(class="col-sm-3 col-form-label") }}
</a>
<!--form field-->
<div class="col-sm-9">
{{ entry_field(class_="form-control", onclick="showNotes('{{entry_field.name}}')") }}
{% for error in entry_field.errors %}<span style="color: red;">{{ error }}</span>{% endfor %}
</div>
</div>
{% endif %}
{% endfor %}
<!--form submit-->
<div class="form-group row">
<div class="col-sm-9 col-sm-offset-3">
<input type="submit" class="btn btn-lg btn-success" value="Submit">
</div>
</div>
</form>
非常感谢任何帮助!
您可以使用字符串格式来构建您想要的字符串:
{{ "jsFunction(%s)" | format(entry_field.name) }}
您可以将那个字符串用作 entry_field()
的参数:
{{ entry_field(onclick=("jsFunction(%s)" | format(entry_field.name)) }}
我正在尝试使用 jinja2 和 flask-wtf 在 flask 应用程序中呈现一个表单,但我无法弄清楚如何处理添加包含 属性 作为其一部分的 onclick 生成的参数参数。
您可以在表单标签部分看到我将 onclick 设置为调用 javascript 函数并传递当前循环对象的名称 属性,这按预期工作。但是,当我在表单字段部分时,我需要将 onclick 作为关键字参数传递给循环对象,并且需要使我的参数的参数成为对象名称 属性。这行不通。
这里是一个简短的例子:
<form class="form">
{% for entry_field in form %}
{{ entry_field.label() }}
{{ entry_field(onclick="jsFunction({{entry_field.name}})}}
{% endfor %}
</form>
这是一个完整的例子:
<form id="reg_form" class="form text-left" method="post" role="form">
{{ form.csrf_token }}
{% for entry_field in form %}
{% if entry_field != form.csrf_token %}
<div class="form-group row">
<!--form label-->
<a href="#" onclick="showNotes('{{entry_field.name}}')">
{{ entry_field.label(class="col-sm-3 col-form-label") }}
</a>
<!--form field-->
<div class="col-sm-9">
{{ entry_field(class_="form-control", onclick="showNotes('{{entry_field.name}}')") }}
{% for error in entry_field.errors %}<span style="color: red;">{{ error }}</span>{% endfor %}
</div>
</div>
{% endif %}
{% endfor %}
<!--form submit-->
<div class="form-group row">
<div class="col-sm-9 col-sm-offset-3">
<input type="submit" class="btn btn-lg btn-success" value="Submit">
</div>
</div>
</form>
非常感谢任何帮助!
您可以使用字符串格式来构建您想要的字符串:
{{ "jsFunction(%s)" | format(entry_field.name) }}
您可以将那个字符串用作 entry_field()
的参数:
{{ entry_field(onclick=("jsFunction(%s)" | format(entry_field.name)) }}