Szukaj…


Wprowadzenie

Podczas pracy z aplikacją internetową czasem ważne jest uzyskanie dostępu do danych zawartych w żądaniu poza adresem URL.

W Flask jest to przechowywane w obiekcie globalnego żądania , do którego można uzyskać dostęp w kodzie za pośrednictwem from flask import request .

Dostęp do ciągu zapytania

Ciąg zapytania jest częścią żądania następującego po adresie URL, poprzedzoną znakiem ? znak.

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

W tym przykładzie tworzymy prosty serwer echa, który GET echo wszystko, co jest do niego przesyłane za pośrednictwem pola echo w żądaniach GET .

Przykład: localhost:5000/echo ?echo=echo+this+back+to+me

Przykład kolby :

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()

Połączony ciąg formularza i zapytania

Flask umożliwia również dostęp do CombinedMultiDict, który daje dostęp zarówno do atrybutów request.form i request.args ramach jednej zmiennej.

Ten przykład pobiera dane z name pola formularza przesłanego wraz z polem echo w ciągu zapytania.

Przykład kolby :

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()

Dostęp do pól formularza

Możesz uzyskać dostęp do danych formularza przesłanych za pomocą POST lub PUT w Flask za pomocą atrybutu 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow