Verwenden Sie die Flask-Umleitung()-Funktion mit Parametern

Haider Ali 15 Februar 2024
Verwenden Sie die Flask-Umleitung()-Funktion mit Parametern

Hier werden wir die Funktion redirect() von Flask besprechen. Was ist sein Parameter, wie wird er verwendet und was wird benötigt, um ihn auszuführen? Also fangen wir an, darüber zu lernen.

Verwenden Sie die Flask redirect()-Funktion mit Parametern

redirect() ist eine Flask-Funktion oder ein Dienstprogramm, das explizit für die Benutzer verwendet wird, um zu einer bestimmten URL umzuleiten und dann einen Statuscode zuzuweisen, der als Fehler bekannt ist. Fehler und redirect() gehören zusammen, aber wir werden uns in diesem Leitfaden nicht damit befassen.

Die Umleitung erfolgt zum Zielspeicherort, und beim Aufruf dieser Funktion wird ein Antwortobjekt mit dem Statuscode zurückgegeben.

Ein HTTP-Code wird generiert, wenn eine Website eine Anfrage erhält und nach der Verarbeitung mit einem dreistelligen Code antwortet.

Schauen wir uns ein Beispiel an, um die Funktionsweise der Funktion redirect() besser zu verstehen. Hier zeigen wir ein Code-Snippet für eine einfache Erklärung; Den vollständigen Code finden Sie am Ende dieses Handbuchs.

@app.route("/")
def index():  # An index page will be created where a form will be shown and tells the user to enter a name.
    return """<form action="/goto" method="POST">
            <label>Enter Your Name</label>
            <input name="username" required>
            <input type="submit" value="Submit">
        </form>"""


@app.route("/goto", methods=["POST"])
def redirector():  # a redirector function created
    username = request.form.get("username")  # this requests the name
    return redirect(
        url_for("user", name=username)
    )  # this is the redirect function being implemented.

Schauen wir uns die Funktionen des Codes an, index und redirector.

Die Funktion index() wird zu einem Zweck erstellt, nämlich zum Erstellen eines Formulars. Über das Formular können wir einen beliebigen Namen eingeben, der als URL für die neue Website verwendet wird.

Die Funktion redirector() umfasst zwei Teile: die Funktion username und die Funktion redirect. Der Benutzername wird hier verwendet, um einen Namen für das Formular anzufordern; der hier eingetragene wird mit der Funktion index() verknüpft, da dort das Formular erstellt wird.

Der zweite Teil, redirect(), leitet auf die in seinen Parametern erwähnte Website weiter. In diesem Fall wird die Website mit der Funktion url_for() erstellt.

Die Funktion url_for() wird hier verwendet, um eine URL zu erstellen, auf die wir umleiten. Wir verwenden in diesem Beispiel keine offiziell erstellten URLs; Stattdessen verwenden wir unsere eigenen URLs.

Mehrere Schlüsselwortargumente stellen Variablen in der URL-Regel dar, wobei das erste Argument der Name der Funktion ist. Als Abfrageparameter werden URLs mit unbekannten Variablen angehängt.

Lassen Sie uns nun dieses Beispiel verstehen, indem wir uns die Ausgabe ansehen. In diesem Beispiel haben wir eine index-Seite erstellt, auf der das System den Benutzer auffordert, einen Namen dafür einzugeben, um ihn auf diese Seite umzuleiten.

Flask-Umleitung mit Parametern - Form

Hier geben wir einen beliebigen Namen ein und leiten ihn auf eine Seite um, die mit diesem Namen erstellt wurde. Zum Beispiel geben wir den Namen Aria ein.

Flask-Umleitung mit Parametern – Umgeleitete Seite

Wie Sie sehen können, wurden wir erfolgreich auf eine Seite namens Aria weitergeleitet.

Schauen wir uns nun ein weiteres Beispiel an, das uns auf Anfrage zu google.com weiterleitet.

@app.route("/goto1")  # \goto1 will be used as a keyword to redirect.
def redirector_1():
    return redirect("https://www.google.com")  # will redirect to google

Für dieses Beispiel müssen wir die URL \goto1 eingeben. Mehr müssten wir nicht tun, um auf google.com umgeleitet zu werden.

So geben Sie die URL ein.

The http address provided by the system/goto1

http://127.0.0.1:5000/goto1 #accoridng to example

Der vollständige Code unten enthält beide Möglichkeiten, wie die Funktion Umleitung verwendet wird.

from flask import Flask, request, redirect, url_for

app = Flask(__name__)


@app.route("/")
def index():
    return """<form action="/goto" method="POST">
            <label>Enter Your Name</label>
            <input name="username" required>
            <input type="submit" value="Submit">
        </form>"""


@app.route("/goto", methods=["POST"])
def redirector():
    username = request.form.get("username")
    return redirect(url_for("user", name=username))


@app.route("/goto1")
def redirector_1():
    return redirect("https://www.google.com")


@app.route("/user/<name>")
def user(name):
    return f"Hello {name}"


if __name__ == "__main__":
    app.run(debug=True)

Wir müssen die oben genannten Bibliotheken Flask, request, redirect und url_for importieren. Ohne diese zu importieren, können wir keine der Funktionen verwenden, die wir in diesem Code verwendet haben.

Gemäß diesem Code hilft uns die Anfrage, einen Namen anzufordern, um die neue Website zu erstellen, und die Umleitung ermöglicht es uns, auf die spezifische Website umzuleiten, die wir in den Parametern erwähnt haben.

Last but not least ermöglicht uns die url_for, den mit Hilfe des Formulars erstellten Namen aus der index-Funktion zu verwenden, um eine neue Website zu erstellen.

Autor: Haider Ali
Haider Ali avatar Haider Ali avatar

Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.

LinkedIn

Verwandter Artikel - Python Flask Redirect