Wie bekomme ich die benannten Parameter aus einer URL mit Hilfe von Flask?
Wenn der Benutzer auf diese URL läuft auf meinem Kolben-app, ich will die web-service bedienen zu können die Parameter nach dem Fragezeichen:
http://10.1.1.1:5000/login?username=alex&password=pw1
#I just want to be able to manipulate the parameters
@app.route('/login', methods=['GET', 'POST'])
def login():
username = request.form['username']
print(username)
password = request.form['password']
print(password)
- Nur ein kleiner Hinweis zur Sicherheit: nicht enthalten Passwörter in GET-Anforderungen. security.stackexchange.com/questions/147188/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
- Anfrage.args
man analysiert den Inhalt der Abfrage-string:Die URL-Parameter sind verfügbar in
- Anfrage.args
, das ist ein MultiDict, dass eineget
Methode mit optionalem Parameter für default-Wert (default
) und Typ (type
) - was ist ein callable, das konvertiert den Eingangswert in das gewünschte format.Beispiele mit dem code oben:
Können Sie auch mit Klammern <> auf die URL der view-definition und diesem Eingang gehen Sie in Ihrem view-Funktion Argumente
Wenn Sie ein einzelnes argument übergeben, wird die URL, die Sie tun können es wie folgt
In Fall, dass Sie mehrere Parameter haben:
Was Sie versuchen zu tun, arbeitet bei der POST Anfragen wo die Parameter übergeben werden, als Parameter form, und nicht in der URL erscheinen. In Fall, dass Sie tatsächlich die Entwicklung einer login API, ist es ratsam, die Sie verwenden-POST-Requests anstatt sich zu und setzen die Daten an den Benutzer.
Im Fall von post-Anfrage, es würde wie folgt funktionieren:
HTML-snippet:
Route:
url:
code:
Ist es wirklich einfach. Lassen Sie mich teilen Sie diesen Prozess in zwei Schritten.
Auf der html-Vorlage, die Sie erklären Namensschild für Benutzername und Passwort als
Dann ändern Sie Ihren code wie: