Aus der Kolbendokumentation nicht ersichtlich, wie die Abfragezeichenfolge abgerufen wird. Ich bin neu, habe mir die Dokumente angesehen, konnte nicht finden!
Damit
@app.route('/')
@app.route('/data')
def data():
query_string=??????
return render_template("data.html")
python
flask
query-string
Tampa
quelle
quelle
Antworten:
quelle
Die vollständige URL ist verfügbar als
request.url
und die Abfragezeichenfolge ist verfügbar alsrequest.query_string
.Hier ist ein Beispiel:
Um auf einen einzelnen bekannten Parameter zuzugreifen, der in der Abfragezeichenfolge übergeben wurde, können Sie verwenden
request.args.get('param')
. Soweit ich weiß, ist dies der "richtige" Weg, dies zu tun.ETA: Bevor Sie fortfahren, sollten Sie sich fragen, warum Sie die Abfragezeichenfolge möchten. Ich musste noch nie an der rohen Schnur ziehen - Flask verfügt über Mechanismen, um auf abstrahierte Weise darauf zuzugreifen. Sie sollten diese verwenden, es sei denn, Sie haben einen zwingenden Grund, dies nicht zu tun.
quelle
Werkzeug / Flask hat schon alles für dich analysiert. Mit urlparse müssen Sie die gleiche Arbeit nicht erneut ausführen:
Die vollständige Dokumentation für die Anforderungs- und Antwortobjekte finden Sie in Werkzeug: http://werkzeug.pocoo.org/docs/wrappers/
quelle
Wir können dies tun, indem wir request.query_string verwenden.
Beispiel:
Betrachten wir view.py
Sie können es auch modularer gestalten, indem Sie Flask Blueprints verwenden - http://flask.pocoo.org/docs/0.10/blueprints/
Nehmen wir an, der Vorname wird als Teil der Abfragezeichenfolge / web_url /? First_name = john übergeben
Wie Sie sehen, ist dies nur ein kleines Beispiel - Sie können mehrere Werte abrufen + formatieren und verwenden oder sie an die Vorlagendatei übergeben.
quelle
Ich bin hierher gekommen, um nach der Abfragezeichenfolge zu suchen, nicht nach dem Abrufen von Werten aus der Abfragezeichenfolge.
request.query_string
Gibt die URL-Parameter als Rohbyte-Zeichenfolge zurück (Ref. 1).Anwendungsbeispiel
request.query_string
:Ausgabe:
Verweise:
quelle
Versuchen Sie Folgendes für die Abfragezeichenfolge:
Ausgabe:
quelle
Jede Form der Abfragezeichenfolge, die vom Flask-Anforderungsobjekt abgerufen werden kann, wie in O'Reilly Flask Web Devleopment beschrieben :
Aus der Webentwicklung von O'Reilly Flask und wie bereits von Manan Gouhari angegeben, müssen Sie zunächst die folgende Anfrage importieren:
request
ist ein Objekt, das von Flask als Kontextvariable mit dem Namen (Sie haben es erraten) verfügbar gemacht wirdrequest
. Wie der Name schon sagt, enthält es alle Informationen, die der Client in der HTTP-Anforderung enthalten hat. Dieses Objekt verfügt über viele Attribute und Methoden, die Sie abrufen bzw. aufrufen können.Sie haben einige
request
Attribute, die die Abfragezeichenfolge enthalten, aus der Sie auswählen können. Hier werde ich jedes Attribut auflisten, das in irgendeiner Weise die Abfragezeichenfolge enthält, sowie eine Beschreibung aus dem O'Reilly-Buch dieses Attributs.Zuerst gibt es
args
"ein Wörterbuch mit allen Argumenten, die in der Abfragezeichenfolge der URL übergeben werden". Wenn Sie also die Abfragezeichenfolge in ein Wörterbuch analysieren möchten, gehen Sie wie folgt vor:(Wie andere bereits betont haben, können Sie auch
.get('<arg_name>')
einen bestimmten Wert aus dem Wörterbuch abrufen.)Dann gibt es das
form
Attribut, das nicht die Abfragezeichenfolge enthält, sondern in einem Teil eines anderen Attributs enthalten ist, das die Abfragezeichenfolge enthält, die ich kurz auflisten werde. Zunächstform
ist jedoch "Ein Wörterbuch mit allen Formularfeldern, die mit der Anforderung übermittelt wurden". Ich sage das, um dies zu sagen: Es gibt ein anderes Wörterbuchattribut, das im aufgerufenen Flask-Anforderungsobjekt verfügbar istvalues
.values
ist "Ein Wörterbuch, das die Werte inform
und kombiniertargs
." Das abzurufen würde ungefähr so aussehen:(Verwenden Sie erneut
.get('<arg_name>')
, um ein bestimmtes Element aus dem Wörterbuch zu entfernen.)Eine andere Option ist
query_string
"Der Teil der Abfragezeichenfolge der URL als roher Binärwert". Beispiel dafür:Als zusätzlichen Bonus gibt es
full_path
"Der Pfad und die Abfragezeichenfolgen der URL". Por ejemplo:Und schließlich
url
"Die vollständige vom Client angeforderte URL" (einschließlich der Abfragezeichenfolge):Viel Spaß beim Hacken :)
quelle
Dies kann mit erfolgen
request.args.get()
. Wenn Ihre Abfragezeichenfolge beispielsweise ein Feld enthältdate
, kann mit auf das Feld zugegriffen werdenVergessen Sie nicht, "
request
" zur Liste der Importe aus der Flasche hinzuzufügen , d. H.quelle
request.args.get()
. Neue Antworten auf alte Fragen sollten etwas enthalten, das zuvor nicht erwähnt wurde.Wenn die Anfrage if GET und wir einige Abfrageparameter übergeben haben, dann
quelle