Die Hälfte meiner Flask-Routen erfordert eine Variable, /<variable>/add
oder /<variable>/remove
. Wie erstelle ich Links zu diesen Orten?
url_for()
Nimmt ein Argument, zu dem die Funktion weitergeleitet werden soll, aber ich kann keine Argumente hinzufügen?
def add(variable)
?url_for
werden, werden als Funktionsparameter für Routen mit variablen Regeln in Flask@app.route("/<a>/<b>")
unddef function(a,b): ...
als seine Funktion haben, sollten Sieurl_for
seine Schlüsselwortargumente wieurl_for('function', a='somevalue', b='anothervalue')
url_for
In Flask wird zum Erstellen einer URL verwendet, um den Aufwand zu vermeiden, URLs in einer Anwendung (einschließlich in Vorlagen) ändern zu müssen. Ohneurl_for
, wenn sich die Stamm-URL Ihrer App ändert, müssen Sie sie auf jeder Seite ändern, auf der der Link vorhanden ist.Syntax:
url_for('name of the function of the route','parameters (if required)')
Es kann verwendet werden als:
Wenn Sie nun einen Link zur Indexseite haben, können Sie diesen verwenden:
Sie können viel damit anfangen, zum Beispiel:
Für die oben genannten können wir verwenden:
So können Sie einfach die Parameter übergeben!
quelle
{{ url_for('find_question' ,question_id=question.id) }}
und nicht{{ url_for('find_question' ,question_id={{question.id}}) }}
Weitere Informationen finden Sie im Flask API-Dokument
flask.url_for()
Weitere Beispiele für die Verwendung zum Verknüpfen von js oder css mit Ihrer Vorlage finden Sie unten.
quelle
Vorlagen:
Übergeben Sie den Funktionsnamen und das Argument.
Ansicht, Funktion
quelle