Flasche - URL-Erstellung
Das url_for()Die Funktion ist sehr nützlich, um dynamisch eine URL für eine bestimmte Funktion zu erstellen. Die Funktion akzeptiert den Namen einer Funktion als erstes Argument und ein oder mehrere Schlüsselwortargumente, die jeweils dem variablen Teil der URL entsprechen.
Das folgende Skript demonstriert die Verwendung von url_for() Funktion.
from flask import Flask, redirect, url_for
app = Flask(__name__)
@app.route('/admin')
def hello_admin():
return 'Hello Admin'
@app.route('/guest/<guest>')
def hello_guest(guest):
return 'Hello %s as Guest' % guest
@app.route('/user/<name>')
def hello_user(name):
if name =='admin':
return redirect(url_for('hello_admin'))
else:
return redirect(url_for('hello_guest',guest = name))
if __name__ == '__main__':
app.run(debug = True)
Das obige Skript hat eine Funktion user(name) Dies akzeptiert einen Wert für sein Argument aus der URL.
Das User() Die Funktion prüft, ob ein empfangenes Argument übereinstimmt ‘admin’oder nicht. Wenn es übereinstimmt, wird die Anwendung an die umgeleitethello_admin() Funktion mit url_for(), sonst zum hello_guest() Funktion, die das empfangene Argument als Gastparameter an es übergibt.
Speichern Sie den obigen Code und führen Sie ihn in der Python-Shell aus.
Öffnen Sie den Browser und geben Sie die URL als - ein http://localhost:5000/user/admin
Die Antwort der Anwendung im Browser lautet -
Hello Admin
Geben Sie die folgende URL in den Browser ein - http://localhost:5000/user/mvl
Die Antwort der Anwendung ändert sich jetzt in -
Hello mvl as Guest