-1

基本的に、登録関数で 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)
4

3 に答える 3

4

どこかでフォーマットを失ったと思います。最初の return ステートメントは、if ブロック内に収まるように十分にインデントする必要があり、2 番目の return ステートメントは if ブロックと整列する必要があります。検証が成功した場合はタプルを返しcreate_user, redirect(url_for('loggedin.html'))、そうでない場合は を返しますrender_template('get-started.html', form=form)

于 2010-08-16T19:04:43.653 に答える
3

インデントが間違っています。あなたがしたい:

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

于 2010-08-16T19:04:16.773 に答える
1

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

于 2011-10-14T08:35:22.770 に答える