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)
この機能には2つの目標があります。1つはフォームを返すこと、もう1つは送信ボタンで何をするかを指示することです。どうしてそれができるのか理解できません。2回呼ばれていますか?ビューがフォームとは何かを知る必要があるときと、送信ボタンが押されたときの2回目は?直感的にこの作品:
if form.accepts(request,session):
response.flash = 'form accepted'
elif form.errors:
response.flash = 'form has errors'
else:
response.flash = 'please fill the form'
後処理を担当するいくつかの異なる機能にある必要があります。
それはどのように機能しますか?