【问题标题】:flask fill the form with values from python dict烧瓶用 python dict 中的值填充表单
【发布时间】:2019-02-13 16:04:23
【问题描述】:

我希望烧瓶表单预先填充来自 python dict 的数据

函数form_input()获取python dict 'ext'并返回表单。

我得到的错误是“jinja2.exceptions.UndefinedError: 'str object' has no attribute 'issuer'”

@app.route('/form_input', methods=["GET", "POST"])
def form_input():

ext = session['ext']
if request.method == 'POST':
    form  = Dataentryform(request.form, obj=ext)    


return render_template("inputdata.html",form='form')

Ext 是 Python dict -

([('amount', 200.22), ('currency', 'USD'), ('date', datetime.datetime(2017, 7, 30, 0, 0)), ('desc', 'Invoice from KOTH Commercial Broker'), ('invoice_number', ('DTBINT', '0907')), ('issuer', 'KOTH Commercial Broker'), ('partner_name', 'KOTH Commercial Broker')])

这里是 input.html

{% from "_formhelpers.html" import render_field %}
<form method=post>
<dl>
    {{ render_field(form.issuer) }}
    {{ render_field(form.invoice_number) }}
    {{ render_field(form.date) }}
    {{ render_field(form.currency) }}
    {{ render_field(form.amount) }}
</dl>
<p><input type=submit value=Submit>

【问题讨论】:

    标签: python flask flask-wtforms


    【解决方案1】:

    form 应该是变量而不是字符串。

    所以改变

    return render_template("inputdata.html",form='form')

    return render_template("inputdata.html",form=form)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-01
      • 1970-01-01
      相关资源
      最近更新 更多