私はデコレータを使用して、ユーザーがログインしてフォームを送信することができます。しかし、ユーザーがサブミットをクリックすると登録/サインアップにリダイレクトされるように設定する必要があります。Web2pyフォームクリック時のユーザー認証
現在、私のコントローラの私のフォームが似ている:
@auth.requires_login()
def survey_create():
form = SQLFORM(db.survey).process()
if form.accepted:
session.flash = 'Survey Processed'
redirect(URL('index'))
return locals()
私は彼が提出する上でクリックすると、ユーザー登録フォームを送信する必要があります。
お知らせください。
def survey_create():
if auth.is_logged_in():
def onsuccess(form):
db.survey.insert(db.survey._filter_fields(form.vars))
session.flash = 'Survey Processed'
next_url = URL('default', 'index')
else:
def onsuccess(form):
session.survey_submission = form.vars
session.flash = 'Please Register'
next_url = URL('default', 'user', 'register')
form = SQLFORM(db.survey).process(dbio=False, onsuccess=onsuccess, next=next_url)
return dict(form=form)
.process
を呼び出し、dbio
は、データベースへの提出の自動挿入を防止するためにFalse
に設定されている次のように
フォーム提出を保存し、登録に成功した後にのみデータベースに挿入しますか? – Anthony
はい。しかし、その前に、私は彼がサインインしていない場合にのみ、ユーザをログイン/サインアップにリダイレクトする必要があります。ありがとう –