基本上,我想在寄存器函数中返回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).

您记得要导入请求吗?不知道您正在使用什么,但对我来说看起来像烧瓶,如果是“来自烧瓶导入请求”。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top