[PYTHON] Tutoriel Flask # 1 ~ GET Request ~

Qu'est-ce que Flask

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.

Objectif de mise en œuvre

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

Préparation

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.

OBTENIR la demande

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.

Spécification des paramètres

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.

Résumé

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

Tutoriel Flask # 1 ~ GET Request ~
Tutoriel Flask # 2 ~ POST, PUT, DELETE Request ~
Tutoriel Flask # 3 ~ DB Linkage ~
Lancez-vous avec Django! ~ Tutoriel ⑤ ~
Obtenir les paramètres de requête pour Flask GET
Lancez-vous avec Django! ~ Tutoriel ④ ~
Lancez-vous avec Django! ~ Tutoriel ⑥ ~
ballon
ballon
Obtenir un booléen avec une requête Flask
Obtenez des données de Cloudant avec le flacon Bluemix
Tutoriel Flask (de l'installation à Hello World)
(Pour moi) Flask_3 (formulaire, POST et GET)