Anfrage.args.get('key') gibt NULL - Fläschchen
Ich versuche mich zu übergeben der variable 'E-Mail' aus der 'Anmeldung' - Methode aus meiner Sicht zu den 'Charakter' - Methode. Allerdings
request.args.get('email')
ist das speichern der NULL in der Datenbank. Ich kann nicht herausfinden, warum.
Hier ist, was zeigt sich nach der übergabe der 'E-Mail' variable 'Zeichen':
http://127.0.0.1:5000/character?email=test%40test.com
Hier ist mein code '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'))
Alles andere läuft einwandfrei, es ist nur so, dass 'E-Mail' ist nicht gespeichert '[email protected]" und stattdessen als NULL.
Danke für deine Hilfe vor der Zeit!
BEARBEITEN:
Gelöst mit Sitzungen in der Flasche.
http://flask.pocoo.org/docs/quickstart/#sessions
Können Sie nach Ihrem Modell-code, auch? Ich vermute, dass etwas falsch ist in Ihrem Benutzer-Objekt, weil sonst das funktionieren sollte.
Was bedeutet
Hinzugefügt meine model.py Datei oben, danke für Eure Hilfe!
bitte sehen model.py oben, danke!
Ich glaube nicht, dass es hat zu tun mit meinem Modell, denn wenn ich "E-Mail = '[email protected]'" auf mein Zeichen " / " Methode, es funktioniert Prima. Was bedeutet, dass Anfrage.args.bekommen ist nicht grabben 'E-Mail' aus der URL
Was bedeutet
User.__init__
Aussehen? Sind Sie sicher, es erwartet email
in dieser position?Hinzugefügt meine model.py Datei oben, danke für Eure Hilfe!
bitte sehen model.py oben, danke!
Ich glaube nicht, dass es hat zu tun mit meinem Modell, denn wenn ich "E-Mail = '[email protected]'" auf mein Zeichen " / " Methode, es funktioniert Prima. Was bedeutet, dass Anfrage.args.bekommen ist nicht grabben 'E-Mail' aus der URL
InformationsquelleAutor Sunny Malotrha | 2014-07-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie senden Sie Ihr Anmeldeformular ausfüllen, sind Sie mit POST. Da bist du mit POST, Ihre form Werte Hinzugefügt werden
request.form
, nichtrequest.args
.Ihre E-Mail-Adresse:
Wenn Sie schlugen die URL
/[email protected]
, und Sie waren nicht Rendern eines templates sofort mit:in Ihrem Zeichen anzeigen, nur dann wären Sie in der Lage, Zugriff:
Check-out die werkzeug-Anforderung /Antwort docs für mehr info.
Edit: Hier ein voll funktionsfähiges Beispiel (minus Ihre Modelle Zeug)
app.py
templates/signup.html
templates/character.html
Einreichung des signin form (per POST) füllen
Email from form
Schlagen die url
http://localhost:5000/[email protected]
(per GET) füllenEmail from args
Ich habe ein voll funktionsfähiges Beispiel auf meine Antwort.
sollten Sie auf jeden Fall akzeptieren die Antwort, es ist sehr gut und ausführlich.
Dies ist ein gutes Beispiel dafür, aber nicht mein problem lösen. Ich löste mein problem mit sessions. (flask.pocoo.org/docs/quickstart/#sessions)
InformationsquelleAutor Chris McKinnel