我目前有一张表格
class StateForm(Form):
court_info = TextField('Court Info', [validators.Optional()])
court_rules = TextField('Court Rules', [validators.Optional()])
jurisdictional_limit = TextField('Jurisdictional Limit', [validators.Optional()])
complaint_form = TextField('Complaint Form', [validators.Optional()])
governing_law = TextField('Governing Law', [validators.Optional()])
more_info = TextField('More Info', [validators.Optional()])
当我收到请求时,我只希望它打印实际上有信息输入的字段。
@app.route("/update/<state>", methods=['POST'])
@login_required
def update_states(state):
form = StateForm(request.form)
for i in form.data:
print(i)
我不想输入if语句的原因是我们在路上添加更多字段。
现在i
打印字段的名称,但不打印文本。如何让它只打印包含文本的字段?
答案 0 :(得分:3)
K想出来了,因为这是一本字典必须这样做
for k, v in form.data.items():
print(k, v)
答案 1 :(得分:0)
从Werkzeug 0.14 http://werkzeug.pocoo.org/docs/0.14/datastructures/#werkzeug.datastructures.MultiDict和Flask版本1.0.2开始,request.form是一个ImmutableMultiDict,它是从MultiDict派生的,用于处理具有多个值的单个键(例如,用于表单提交)。它将像字典一样表现 ,因此这将打印出提交表单中每个键的第一个值,但要遵循有关可打印性的常见警告:
for k, v in request.form.items():
print(k, v)