648 Stimmen

Wie greift man auf den Query-String in Flask-Routen zu?

Wie greifen Sie auf Abfrageparameter oder den Abfrage-String in Flask-Routen zu? Das ist aus der Flask-Dokumentation nicht ersichtlich.

Die Beispielroute /data unten zeigt den Kontext, in dem ich auf diese Daten zugreifen möchte. Wenn jemand etwas anfordert wie example.com/data?abc=123 Ich möchte Zugriff auf die Zeichenfolge ?abc=123 oder die Möglichkeit, den Wert von Parametern wie abc .

@app.route("/data")
def data():
    # query_string = ???
    return render_template("data.html")

2voto

RAJAHMAD MULANI Punkte 129

Wenn die Anfrage GET ist und wir einige Abfrageparameter übergeben haben, dann,

fro`enter code here`m flask import request
@app.route('/')
@app.route('/data')
def data():
   if request.method == 'GET':
      # Get the parameters by key
      arg1 = request.args.get('arg1')
      arg2 = request.args.get('arg2')
      # Generate the query string
      query_string="?arg1={0}&arg2={1}".format(arg1, arg2)
      return render_template("data.html", query_string=query_string)

1voto

Manan Gouhari Punkte 69

Dies kann geschehen durch request.args.get() . Wenn Ihr Abfrage-String zum Beispiel ein Feld enthält date kann er über

date = request.args.get('date')

Vergessen Sie nicht den Zusatz " request " in die Liste der Importe von Flask, d.h.

from flask import request

1voto

Isha Shaw Punkte 64

Dieser Code hat bei mir funktioniert:

from flask import Flask, request
app = Flask(__name__)
@app.route('/')
def search():
   query = request.args
   for key,value in query.items():
      print(key,value)
    return "Hello World"

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X