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