[PYTHON] Mémo de base Flask

introduction

J'utilise Flask de temps en temps, mais j'oublie souvent comment l'utiliser, donc je vais faire une note ici.

Jusqu'à ce que vous receviez une réponse

Installation

Tout d'abord, installez Flask. Tout ce que vous avez à faire est de taper la commande suivante.

$ pip install Flask

Fichier

Ensuite, créez un fichier qui exploite le serveur de manière appropriée. Ce qui suit est l'opération minimale requise.

app.py


from flask import Flask

app = Flask(__name__)

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

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

Fonctionnement du serveur

Tapez ensuite la commande suivante dans le répertoire où réside ce fichier.

$ python app.py

Maintenant, lorsque vous accédez à http: // localhost: 5000, il reviendra avec bonjour.

Comment utiliser les fonctions de base

@app.route(URL, methods) Il s'agit d'un wrapper qui permet aux fonctions suivantes de s'exécuter lorsqu'une demande arrive. Utilisez-le toujours lorsque vous recevez une demande. Chaque argument est URL: route de l'URL qui reçoit la requête méthodes: méthode de requête Il existe les usages suivants. Il existe également un moyen d'obtenir des variables directement à partir de l'URL.

Utilisation de base

# http://localhost:5000/Fonctionne en envoyant une demande GET à hoge
@app.route("/hoge", methods=["GET"])
def hoge():
    #Le traitement se fait ici

Récupérer des variables depuis l'URL

Flask peut importer des chaînes d'URL sous forme de données. Par exemple, dans l'exemple suivant, si vous envoyez la méthode GET à http: // localhost: 5000 / hoge / fuga, elle renverra" hello! Fuga ".

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

app.run(host, path, debug) Ici, l'application est exploitée. Chaque argument est hôte: adresse IP pour exécuter l'application, hôte local par défaut port: port qui peut accéder à l'application, par défaut 5000 debug: lorsque True, débogage la sortie lorsque l'application est en cours d'exécution

Si vous les utilisez pour apporter des modifications, cela ressemble à ceci:

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

En définissant l'hôte comme ci-dessus, vous pouvez y accéder à partir d'un périphérique externe si vous connaissez l'adresse du PC exécutant ce code.

Manipulation de json

Comment recevoir sur demande

Utilisez le module json lors de la réception d'un json dans une requête.

from flask import Flask
import json

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

En utilisant la fonction json.loads, les données json sont converties en une forme qui peut être gérée par python, comme des tableaux et des dictionnaires.

Comment sortir en réponse

Si vous souhaitez inclure json dans la réponse, utilisez la fonction jsonify de Flask.

from flask import Flask, jsonify

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

En gros, tout ce que vous avez à faire est d'envelopper les données dans jsonify et de les envoyer.

finalement

Je vous serais reconnaissant si vous pouviez me faire savoir s'il y a des erreurs ou des pièces manquantes. Nous acceptons également les questions.

Recommended Posts

Mémo de base Flask
Mémo du flacon
Mémo Primer Flask
Certification Flask Basic
Mémo de calcul de base Numpy
Mémo de base Python - Partie 2
Notes de commande de base Python
Mémo de grammaire de base Python
Mémo de base Python - Partie 1
Introduction de flacon - Mémo d'application Blueprint
Mémo de grammaire de base Python (1)
ballon
notes d'utilisation de la commande virtualenv Basic
Grammaire de base Python (divers) Mémo (3)
Grammaire de base Python (divers) Mémo (2)
ballon
Grammaire de base Python (divers) Mémo (4)
[Mémo] Liens lors du développement avec Flask
Authentification de base, authentification Digest avec Flask
Hello World avec Flask [Mémo approprié]
mémo gzip
Mémo Raspberry-pi
Mémo Pandas
Numpy [basique]
Mémo HackerRank
Premier flacon
Mémo Python
mémo python
mémo graphène
mémo pyenv
Mémo Matplotlib
mémo pytest
mémo sed
Mémo Python
Installer Memo
Mémo BeautifulSoup4
mémo networkx
mémo python
Commandes de base
mémo Tomcat
mémo de commande
Mémo du générateur.
mémo psycopg2
Mémo Python
Mémo SSH
Mémo pour l'envoi et la réception d'images avec Python (Flask)
Mémo: rtl8812
mémo pandas
Mémo Shell
Mémo Python
Mémo de développement BESS Partie 01: Installation et utilisation de base de BESS
Mémo Pycharm