Python začátečník otázka - snaží se pochopit return

hlasů
-1

V podstatě bych se chtěl vrátit obsah create_user ve funkci registru použít k uložení do mé databáze. Jsem úplný začátečník. Co mám nedorozumění?

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)
Položena 16/08/2010 v 19:57
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

Váš odsazení je v pořádku; ty chceš:

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)

Odsazení nakreslí bloky kódu. Musíte odsadit vše uvnitř funkci ukázat, že je kód odpovídající dané funkci, a všechno uvnitř if. Jste neodsazuje pro if.

Odpovězeno 16/08/2010 v 20:04
zdroj uživatelem

hlasů
4

Myslím, že jste ztratili nějaké formátování někde. První příkaz return by měly být odsazeny tak daleko, že je uvnitř, pokud blok a druhý příkaz return se musí krýt s if bloku. Pokud se ověření uspěje, pak se vrací n-tice create_user, redirect(url_for('loggedin.html')), jinak vrací render_template('get-started.html', form=form).

Odpovězeno 16/08/2010 v 20:04
zdroj uživatelem

hlasů
1

Nezapomněl jsi importovat požadavek? Nejste si jisti, co používáte, ale vypadá to, že Baňka se mnou, a pokud ano, je to ‚z požadavku baňka dovozu‘.

Odpovězeno 14/10/2011 v 09:35
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more