request.args.get ('clé') donne NULL - Flask
Je suis en train de passer la variable 'email', de la 'inscription' méthode à mon avis, le "caractère" de la méthode. Cependant,
request.args.get('email')
est l'enregistrement de la valeur NULL dans la base de données. Je ne peux pas comprendre pourquoi.
Voici ce qui s'affiche après le passage de la 'email' variable '/caractère:
http://127.0.0.1:5000/character?email=test%40test.com
Voici mon code dans 'views.py':
@app.route('/signup', methods=['GET','POST'])
def signup():
if request.method == 'GET':
return render_template('signup.html')
email = request.form['email']
return redirect(url_for('character', email=email))
@app.route('/character', methods=['GET', 'POST'])
def character():
if request.method == 'GET':
return render_template('character.html')
email = request.args.get('email')
password = request.form['password']
name = request.form['username']
temp = model.Actor(request.form['gender'], request.form['height'], request.form['weight'], request.form['physique'])
user = model.User(name, email, password, temp)
db.session.add(temp)
db.session.add(user)
db.session.commit()
return redirect(url_for('movies'))
Tout le reste fonctionne parfaitement, c'est juste que "e-mail" n'est pas enregistrée comme "[email protected]" et plutôt que NULL.
Merci pour votre aide d'avance!
EDIT:
Résolu à l'aide de sessions dans le Flacon.
http://flask.pocoo.org/docs/quickstart/#sessions
source d'informationauteur Sunny Malotrha | 2014-07-31
Vous devez vous connecter pour publier un commentaire.
Lorsque vous soumettez votre formulaire d'inscription, vous êtes à l'aide de POST. Parce que vous êtes à l'aide de la POSTE, votre formulaire de valeurs sont ajoutées à
request.form
pasrequest.args
.Votre adresse e-mail dans les:
Si vous avez été frapper l'URL
/[email protected]
et vous n'avez pas le rendu d'un modèle immédiatement avec:dans vos personnages de vue, c'est alors seulement que vous être en mesure d'accéder à:
Découvrez la werkzeug de demande /réponse docs pour plus d'info.
Edit: Ici un exemple de travail (moins de vos modèles de trucs)
app.py
templates/signup.html
templates/character.html
La soumission de la signin forme (par la POSTE) remplir
Email from form
Frapper l'url
http://localhost:5000/[email protected]
(via GET) remplirEmail from args