Sök…


Introduktion

När du arbetar med en webbapplikation är det ibland viktigt att få tillgång till data som ingår i begäran, utöver webbadressen.

I kolven lagras detta under det globala förfrågningsobjektet , som du kan komma åt i din kod via from flask import request .

Öppnar frågesträngen

Frågesträngen är den del av en begäran som följer URL: en, föregående av en ? markera.

Exempel: https://encrypted.google.com/search ?hl=en&q=stack%20overflow

I det här exemplet gör vi en enkel eko-webbserver som återspeglar allt som skickats till det via echo i GET förfrågningar.

Exempel: localhost:5000/echo ?echo=echo+this+back+to+me

Exempel på kolv :

from flask import Flask, request

app = Flask(import_name=__name__)

@app.route("/echo")
def echo():

    to_echo = request.args.get("echo", "")
    response = "{}".format(to_echo)

    return response

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

Kombinerad form och frågesträng

Flask tillåter också åtkomst till ett CombinedMultiDict som ger åtkomst till både request.form och request.args attributen under en variabel.

Detta exempel drar data från ett formulärfält name lämnas tillsammans med echo -fältet i frågesträngen.

Exempel på kolv :

from flask import Flask, request

app = Flask(import_name=__name__)


@app.route("/echo", methods=["POST"])
def echo():

    name = request.values.get("name", "")
    to_echo = request.values.get("echo", "")

    response = "Hey there {}! You said {}".format(name, to_echo)

    return response

app.run()

Åtkomst till formulärfält

Du kan komma åt formulärinformationen som skickas via en POST eller PUT förfrågan i kolven via attributet request.form .

from flask import Flask, request

app = Flask(import_name=__name__)


@app.route("/echo", methods=["POST"])
def echo():

    name = request.form.get("name", "")
    age = request.form.get("age", "")

    response = "Hey there {}! You said you are {} years old.".format(name, age)

    return response

app.run()


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow