Flask
Dostęp do danych żądania
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()