Python principiante pregunta - tratando de comprender instrucción de retorno
Pregunta
Básicamente Quiero devolver el contenido de create_user en la función de registro a utilizar para guardarlo en su base de datos. Soy un principiante. ¿Qué estoy malentendido?
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)
Solución
Su sangría que está mal; que desee:
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)
sangría delinea bloques de código. Usted necesita guión todo dentro de la función para demostrar que es el código correspondiente a dicha función, y todo el interior de la if
. No ha sangría para el if
.
Otros consejos
creo que ha perdido algo de algún lugar de formatear. La primera instrucción de retorno debe estar sangrado lo suficiente para que sea dentro del bloque y si la segunda instrucción de retorno deben estar alineados con el bloque if. Si la validación es correcta, entonces devuelve el create_user, redirect(url_for('loggedin.html'))
tupla, de lo contrario devuelve render_template('get-started.html', form=form)
.
¿Se acordó de solicitud de importación? No está seguro de lo que estás usando, pero parece que el frasco a mí, y si por lo que es 'de solicitud de importación frasco'.