[PYTHON] Flask Grundnotiz

Einführung

Ich benutze Flask von Zeit zu Zeit, aber ich vergesse oft, wie man es benutzt, deshalb mache ich mir hier eine Notiz.

Bis Sie eine Antwort erhalten

Installation

Installieren Sie zuerst Flask. Sie müssen lediglich den folgenden Befehl eingeben.

$ pip install Flask

Datei

Erstellen Sie als Nächstes eine Datei, die den Server ordnungsgemäß betreibt. Das Folgende ist die minimal erforderliche Operation.

app.py


from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "hello"

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

Serverbetrieb

Geben Sie dann den folgenden Befehl in das Verzeichnis ein, in dem sich diese Datei befindet.

$ python app.py

Wenn Sie jetzt auf "http: // localhost: 5000" zugreifen, wird es mit "Hallo" zurückgegeben.

Grundfunktionen nutzen

@app.route(URL, methods) Dies ist ein Wrapper, mit dem nachfolgende Funktionen ausgeführt werden können, wenn eine Anforderung eingeht. Verwenden Sie es immer, wenn Sie eine Anfrage erhalten. Jedes Argument ist URL: Route der URL, die die Anforderung empfängt Methoden: Anforderungsmethode Es gibt die folgenden Verwendungen. Es gibt auch eine Möglichkeit, Variablen direkt von der URL abzurufen.

Grundlegende Verwendung

# http://localhost:5000/Funktioniert durch Senden einer GET-Anfrage an hoge
@app.route("/hoge", methods=["GET"])
def hoge():
    #Die Verarbeitung erfolgt hier

Variablen von der URL abrufen

Flask kann URL-Zeichenfolgen als Daten importieren. Wenn Sie im folgenden Beispiel beispielsweise die GET-Methode an "http: // localhost: 5000 / hoge / fuga" senden, wird "hello! Fuga" zurückgegeben.

@app.route("/hoge/<text>", methods=["GET"])
def hello(text):
    return "hello! " + text

app.run(host, path, debug) Hier wird die Anwendung betrieben. Jedes Argument ist Host: IP-Adresse zum Ausführen der App, Standard-Localhost Port: Port, der auf die App zugreifen kann, Standard 5000 Debug: Wenn True, debuggen Sie die Ausgabe, wenn die App ausgeführt wird

Wenn Sie diese verwenden, um Änderungen vorzunehmen, sieht es folgendermaßen aus:

app.run(host="0.0.0.0", port=8080, debug=True)

Wenn Sie den Host wie oben einstellen, können Sie von einem externen Gerät aus darauf zugreifen, wenn Sie die Adresse des PCs kennen, auf dem dieser Code ausgeführt wird.

Umgang mit json

So erhalten Sie auf Anfrage

Verwenden Sie das JSON-Modul, wenn Sie einen JSON in einer Anfrage empfangen.

from flask import Flask
import json

@app.route("/", methods=["POST"])
def hoge():
    req_data = json.loads(request.data)
    return req_data["hoge"]

Mithilfe der Funktion json.loads werden json-Daten in eine Form konvertiert, die von Python wie Arrays und Wörterbüchern verarbeitet werden kann.

Ausgabe als Antwort

Wenn Sie json in die Antwort aufnehmen möchten, verwenden Sie die jsonify-Funktion von Flask.

from flask import Flask, jsonify

@app.route("/", methods=["GET"])
def hoge():
    res_data = {"json_data": "hogehoge"}
    return jsonify(res_data)

Grundsätzlich müssen Sie die Daten nur in jsonify verpacken und senden.

Schließlich

Ich würde mich freuen, wenn Sie mich wissen lassen könnten, ob Fehler oder fehlende Teile vorliegen. Wir akzeptieren auch Fragen.

Recommended Posts

Flask Grundnotiz
Kolben Memo
Kolbengrundierung Memo
Flask Basic-Zertifizierung
Numpy Grundberechnungsnotiz
Python-Grundnotiz - Teil 2
Grundlegende Python-Befehlsnotizen
Python grundlegende Grammatik Memo
Python-Grundnotiz - Teil 1
Kolbeneinführung - Blueprint-Anwendungsnotiz
Python-Grammatik-Grundnotiz (1)
Flasche
Verwendungshinweise für virtualenv Basic-Befehle
Python-Grundgrammatik (Verschiedenes) Memo (3)
Python-Grundgrammatik (Verschiedenes) Memo (2)
Flasche
Python-Grundgrammatik (Verschiedenes) Memo (4)
[Memo] Links bei der Entwicklung mit Flask
Basisauthentifizierung, Digest-Authentifizierung mit Flask
Hallo Welt mit Flasche [Passendes Memo]
gzip memo
Himbeer-Pi-Memo
Pandas Memo
Numpy [Basic]
HackerRank-Memo
Erste Flasche
Python-Memo
Python-Memo
Graphen-Memo
pyenv memo
Matplotlib-Memo
pytest memo
sed memo
Python-Memo
Installieren Sie Memo
BeautifulSoup4 Memo
networkx memo
Python-Memo
Grundlegende Befehle
Kater Memo
Befehlsnotiz
Generator Memo.
psycopg2 memo
Python-Memo
SSH-Memo
Memo zum Senden und Empfangen von Bildern mit Python (Flask)
Notiz: rtl8812
Pandas Memo
Shell Memo
Python-Memo
BESS Development Memo Teil 01: BESS-Installation und grundlegende Verwendung
Pycharm-Memo