gpt4 book ai didi

python - 如何在 Jinja2 的方法调用中引用对象属性?

转载 作者:行者123 更新时间:2023-12-01 02:05:21 25 4
gpt4 key购买 nike

我正在尝试使用 jinja2 和 Flask-wtf 在 Flask 应用程序中渲染表单,但无法弄清楚如何处理为 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)) }}

关于python - 如何在 Jinja2 的方法调用中引用对象属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49134141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com