質問

基本的に、レジスタ関数の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ブロック内にあるほど十分にインデントされ、2番目の返品ステートメントはifブロックに並んでいる必要があります。検証が成功した場合、タプルを返します create_user, redirect(url_for('loggedin.html')), 、それ以外の場合は戻ります render_template('get-started.html', form=form).

リクエストをインポートすることを覚えていましたか?何を使用しているのかわかりませんが、私にとってはフラスコのように見えます。もしそうなら、「フラスコのインポートリクエストから」です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top