Flask-WTForms 和隐藏字段

Flask-WTForms and hidden fields

我正在尝试生成一系列表单,每个表单都在隐藏字段中包含一个特定值。

这是我的查看器模板的代码:

<div class="container">
       <form method="POST" action="{{ url_for('list') }}">
           <dl>
                        {{ form.csrf_token }}
                        {{ form.wishlist.label }}
                        {{ form.wishlist }}
                        {{ form.item_url_field(value="" ) }}

                      <input class="btn btn-primary" type="submit" value="Login">
                      </dl>
                  </form>
              </div>

我遇到的具体问题是这个级别:

{{ form.item_url_field(value="" ) }}

如果我尝试这样的事情:

   {{ form.item_url_field(value="{{row["item_url"]}}" ) }}

我收到此错误消息:

TemplateSyntaxError: expected token ',', got 'item_url'

是否可以在构建之前将字符串值自动传递给隐藏字段?

感谢您的反馈

@app.route
def index():
    class someObj:
        def someFunc(someArg):
            return 10 + someArg
    return render_template("template.html", obj=someObj(), arg=25)

-------------
<div>
    {{ obj.someFunc(someArg=arg) }}
</div>

以上将在HTML中显示'35'。 通常,在大括号内时,您无需再次重写它们。 IE。 不要这样做:

{{ obj.someFunc(someArg={{ arg }}) }}

您的错误是因为 jinja 2 认为您传递给 value 参数的值是“{{row[”,之后它需要一个逗号分隔符,但却收到了 item_url.

{{ form.item_url_field(value="{{row["item_url"]}}" ) }}

应该是

{{ form.item_url_field(value=row['item_url']) }}

(如果 row 确实是一个已经被注入到模板作用域中的字典)