[英]How do I reference an object property in a method call in Jinja2?
我正在嘗試使用jinja2和flask-wtf在flask應用程序中呈現表單,但是在弄清楚如何處理為包含屬性的onclick的onclick添加生成的參數時遇到了麻煩。
您可以在表單標簽部分中看到我已將onclick設置為調用javascript函數並傳遞當前循環對象的name屬性,這按預期工作。 但是,當我進入表單字段部分時,需要將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)) }}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.