这很有用(令我惊讶),但我不确定它是否正确:
@app.route('/example', methods=['POST']) # no GET, only POST
def example():
form = MyForm()
cmd = mk_cmd('CMD_12', form.duration.data)
if form.validate_on_submit():
# some preparation
exec_cmd(cmd)
else:
# error handling
return flask.redirect(...)
我为什么要问?我想将几个非常相似的函数重构为几行(DRY原则):
def example():
form = MyForm()
cmd = mk_cmd('CMD_12', form.duration.data)
return check_and_exec(form, cmd)
为了做到这一点,我需要在验证之前从表单数据构建命令。如果验证失败,该命令将被丢弃。