簡體   English   中英

Python初學者問題-試圖了解return語句

[英]Python beginner question - trying to understand return statement

基本上,我想在register函數中返回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)

我認為您在某處丟失了一些格式。 第一個return語句應縮進足夠遠,使其位於if塊內,第二個return語句應與if塊對齊。 如果驗證成功,則返回元組create_user, redirect(url_for('loggedin.html')) ,否則返回render_template('get-started.html', form=form)

您的縮進是錯誤的; 你要:

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

您還記得導入請求嗎? 不確定您使用的是什么,但對我來說它看起來像Flask,如果是,那是“來自燒瓶導入請求”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM