Flask ist ein Python-Webanwendungsframework Es funktioniert genauso wie Django. Es unterscheidet sich jedoch von Django darin, dass es als Mikroframework bezeichnet wird und mindestens implementiert ist. Vielleicht konnten einige Leute mit dem Django-Tutorial nicht Schritt halten, weil es so viele Elemente wie Datenbankverbindungen, Vorlagen und Ansichten gab.
Dieses Mal erstellen wir einen API-Server, der eine JSON-formatierte Antwort ohne Verwendung von Ansichten oder Vorlagen zurückgibt. Der Artikel auf hier ist das Endziel
Ausführlich vorgestellt unter hier
Kolben einbauen.
pip install flask
Nur das. Einfach!
HelloWorld
Beginnen wir mit Hallo Welt. Machen Sie app.py.
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/', methods=['GET'])
def index():
return 'hello world'
Erstellen Sie eine Instanz der App und definieren Sie die Route. Schreiben Sie unterhalb der Routendefinition die Verarbeitung, wenn eine Anforderung an die angegebene URL gesendet wird. Dies ist eine Anweisung, die bedeutet, dass Hallo Welt zurückgegeben wird, wenn eine GET-Anforderung an den Stamm kommt.
app.py
if __name__ == '__main__':
app.debug = True
app.run()
Schreiben Sie den Hauptprozess unter den vorherigen Satz. Wenn Sie den Debug-Modus auf True setzen, wird er automatisch neu gestartet, wenn das Programm neu geschrieben wird. Wenn du das kannst
terminal
python app.py
Es wird ausgeführt von.
Wenn Sie mit Ihrem Browser auf localhost: 5000
zugreifen, wird Hallo Welt angezeigt.
Als nächstes schreiben wir die Verarbeitung für die GET-Anfrage. Dies wird hauptsächlich zur Datenerfassung verwendet. Dieses Mal werden wir eine Blog-App annehmen. Da die DB-Verbindung mit # 3 hergestellt wird, definieren wir hier außerdem die Artikelliste in der globalen Variablen. Der Inhalt des Artikels ist einfach Titel und Text. Lassen Sie es uns implementieren.
app.py
from flask import Flask, jsonify, request # <= jsonify,Anfrage hinzugefügt
db_data = [
{'title': 'Titel 1', 'body': 'Körper 1'},
{'title': 'Titel 2', 'body': 'Körper 2'},
{'title': 'Titel 3', 'body': 'Körper 3'},
{'title': 'Titel 4', 'body': 'Körper 4'},
{'title': 'Titel 5', 'body': 'Körper 5'},
]
app.config['JSON_AS_ASCII'] = False
@app.route('/posts', methods=['GET'])
def get_all_posts():
limit = request.args['limit']
return jsonify(db_data[:int(limit)])
Dies ist eine Anweisung, die bedeutet, alle Artikel abzurufen, wenn eine GET-Anfrage an "/ posts" kommt. Wenn Sie eine Abfrage an die URL übergeben, können Sie den Wert der entsprechenden Abfrage mit request.args ['Abfragename'] abrufen. Geben Sie diesmal die Anzahl der Artikel an, die maximal erworben werden sollen. Ich möchte das json-Format für die Antwort verwenden, daher verwende ich eine Funktion namens jsonify.
Nachdem dies abgeschlossen ist, überprüfen wir es mit einem Browser.
Wenn Sie versuchen, mit localhost: 5000 / posts? Limit = 3
darauf zuzugreifen, sollten Sie 3 Artikel sehen.
Als nächstes erhalten wir einzelne Artikel durch Angabe der ID. Der Kolbencode sieht so aus.
app.py
@app.route('/post/<id>', methods=['GET'])
def get_post(id):
return jsonify(db_data[int(id)])
In flask können Sie Parameter in der URL mit / <Parametername>
angeben. Die angegebenen Parameter können von der Funktion empfangen werden. Dieses Mal verwendet DB stattdessen ein Array. Geben Sie daher den Index des Arrays an.
Sie können den 0. Artikel erhalten, indem Sie mit localhost: 5000 / post / 0
in Ihrem Browser darauf zugreifen.
Wie war das? Dieses Mal habe ich hauptsächlich versucht, GET-Anfragen mit Flask zu bearbeiten. # 2 implementiert die Verarbeitung für POST-, PUT- und DELETE-Anforderungen.
Recommended Posts