Flask est un framework d'application Web Python Cela fonctionne de la même manière que Django. Cependant, il diffère de Django en ce qu'il s'appelle un microframework et est implémenté au minimum. Peut-être que certaines personnes n'ont pas pu suivre le didacticiel Django car il y avait tellement d'éléments tels que les connexions à la base de données, les modèles et les vues.
Cette fois, nous allons créer un serveur API qui renvoie une réponse au format JSON sans utiliser de vues ni de modèles. Ici l'article est l'objectif final
Présenté en détail sur ici
Installez le ballon.
pip install flask
Seulement ça. Facile!
HelloWorld
Commençons par bonjour le monde. Créez app.py
app.py
from flask import Flask
app = Flask(__name__)
@app.route('/', methods=['GET'])
def index():
return 'hello world'
Créez une instance de l'application et définissez l'itinéraire. Sous la définition de l'itinéraire, écrivez le traitement lorsqu'une demande parvient à l'URL spécifiée. Ceci est une déclaration qui signifie que hello world sera renvoyé lorsqu'une requête GET arrive à la racine.
app.py
if __name__ == '__main__':
app.debug = True
app.run()
Écrivez le processus principal sous la phrase précédente. En définissant le mode de débogage sur True, il redémarrera automatiquement lorsque le programme sera réécrit. Si tu peux faire ça
terminal
python app.py
Il est exécuté par.
Si vous accédez à localhost: 5000
avec votre navigateur, bonjour le monde apparaîtra.
Ensuite, nous écrirons le traitement de la requête GET. Ceci est principalement utilisé pour l'acquisition de données. Cette fois, nous supposerons une application de blog. De plus, comme la connexion à la base de données se fait avec # 3, nous définissons ici la liste d'articles dans la variable globale. Le contenu de l'article est simplement le titre et le corps. Mettons-le en œuvre.
app.py
from flask import Flask, jsonify, request # <= jsonify,demande ajoutée
db_data = [
{'title': 'Titre 1', 'body': 'Corps 1'},
{'title': 'Titre 2', 'body': 'Corps 2'},
{'title': 'Titre 3', 'body': 'Corps 3'},
{'title': 'Titre 4', 'body': 'Corps 4'},
{'title': 'Titre 5', 'body': 'Corps 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)])
Ceci est une déclaration qui signifie obtenir tous les articles lorsqu'une requête GET arrive à / posts
. Si vous transmettez une requête à l'URL, vous pouvez obtenir la valeur de la requête correspondante avec request.args ['query name'].
Cette fois, précisez le nombre d'articles à acquérir par limite.
Je veux utiliser le format json pour la réponse, j'utilise donc une fonction appelée jsonify.
Maintenant que c'est terminé, vérifions-le avec un navigateur.
Si vous essayez d'y accéder avec localhost: 5000 / posts? Limit = 3
, vous devriez voir 3 articles.
Ensuite, nous obtiendrons des articles individuels en spécifiant l'ID. Le code du flacon ressemble à ceci.
app.py
@app.route('/post/<id>', methods=['GET'])
def get_post(id):
return jsonify(db_data[int(id)])
Dans flask, vous pouvez spécifier des paramètres dans l'URL avec / <nom du paramètre>
. Les paramètres spécifiés peuvent être reçus par la fonction. Cette fois, DB utilise un tableau à la place, spécifiez donc l'index du tableau.
Vous pouvez obtenir le 0ème article en y accédant avec localhost: 5000 / post / 0
dans votre navigateur.
Comment était-ce? Cette fois, j'ai principalement essayé de traiter les requêtes GET avec Flask. # 2 implémente le traitement des requêtes POST, PUT et DELETE.
Recommended Posts