我有一个关于控制器和表单如何在 web2py 中工作的问题。考虑下一个控制器功能(来自 we2py 书):
def display_form():
form=FORM('Your name:',
INPUT(_name='name', requires=IS_NOT_EMPTY()),
INPUT(_type='submit'))
if form.accepts(request,session):
response.flash = 'form accepted'
elif form.errors:
response.flash = 'form has errors'
else:
response.flash = 'please fill the form'
return dict(form=form)
这个函数有两个目标:第一个是返回一个表单,第二个是告诉提交按钮要做什么。我无法理解这怎么可能。是否调用了两次?第一次视图需要知道什么是表单,第二次按下提交按钮?直观地说:
if form.accepts(request,session):
response.flash = 'form accepted'
elif form.errors:
response.flash = 'form has errors'
else:
response.flash = 'please fill the form'
应该在一些不同的功能中负责后期处理。
它是如何工作的?