题
基本上,我想在寄存器函数中返回create_user的内容,以将其保存到我的数据库中。我是一个完整的初学者。我误会了什么?
def register():
form = SignupForm(request.form)
if request.method == 'POST' and form.validate():
create_user = ({'username' : form.username.data, 'email' : form.email.data,
'password': form.password.data})
flash('Thanks for registering')
return create_user, redirect(url_for('loggedin.html'))
return render_template('get-started.html', form=form)
create_user = register()
doc_id, doc_rev = db.save(create_user)
解决方案
你的缩进是错误的;你要:
def register():
form = SignupForm(request.form)
if request.method == 'POST' and form.validate():
create_user = ({'username' : form.username.data, 'email' : form.email.data,
'password': form.password.data})
flash('Thanks for registering')
return create_user, redirect(url_for('loggedin.html'))
return render_template('get-started.html', form=form)
缩进的描述代码块。你需要缩进 一切 在功能内部表明它是与该功能相对应的代码,以及内部的所有内容 if
. 。您还没有屈服于 if
.
其他提示
我认为您在某个地方失去了一些格式。第一个返回语句的缩进应足够远,以至于它在IF块内部,第二个返回语句应与IF块对齐。如果验证成功,则返回元组 create_user, redirect(url_for('loggedin.html'))
, ,否则返回 render_template('get-started.html', form=form)
.
您记得要导入请求吗?不知道您正在使用什么,但对我来说看起来像烧瓶,如果是“来自烧瓶导入请求”。
不隶属于 StackOverflow