[PYTHON] Introduction de flacon - Mémo d'application Blueprint

Faisons le titre aussi facilement que possible.

Blueprint vous permet de diviser et d'implémenter les fonctionnalités de votre application. Blueprint est officiellement recommandé comme moyen d'organiser des projets gonflés.

Installation du flacon

$ sudo pip3 install flask

Structure du répertoire

$ cd ~/workspace/sample-flask/

$ ls
server.py

server.py


from flask import Flask

app = Flask(__name__)

@app.route('/')
def func_1():
    return 'Hello world'

@app.route('/test')
def func_2():
    return 'Test'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80, debug=True)

Commande d'exécution

$ python3 server.py
 * Serving Flask app "server" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
 * Restarting with stat
 * Debugger is active!
 * Debugger PIN: 337-601-528
127.0.0.1 - - [02/Mar/2020 11:18:06] "GET / HTTP/1.1" 200 -

Ignorer l'AVERTISSEMENT pour le moment Lorsque j'accède à 127.0.0.1 à partir de mon navigateur, il est écrit Hello world. Ensuite, lorsque vous accédez à 127.0.0.1 / test dans le navigateur, Test s'affiche cette fois.

Split avec Blueprint

Essayez de diviser "/ test" en fichiers séparés. J'ai créé un répertoire appelé func et créé test.py en dessous.

Structure du répertoire

$ cd ~/workspace/sample-flask/func

$ ls
__init__.py
test.py

Importer un plan, Créez un objet Blueprint avec le cut out test.py.

test.py


from flask import Blueprint

#Créer un objet Blueprint
app = Blueprint('func', __name__)

@app.route('/test')
def func_2():
    return 'Test'

Enregistrez le Blueprint divisé du côté server.py.

server.py


from flask import Flask
from func import test

app = Flask(__name__)
#Enregistrer le plan de division
app.register_blueprint(test.app)

@app.route('/')
def func_1():
    return 'Hello world'

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=80, debug=True)

Exécutons-le et voyons si le routage fonctionne.

Lorsque vous accédez à 127.0.0.1 depuis le navigateur comme auparavant, Hello world s'affiche et Ensuite, lorsque vous accédez à 127.0.0.1 / test dans le navigateur, Test s'affiche cette fois.

Si tout se passe bien, vous pouvez utiliser Blueprint pour diviser.

référence

https://www.subarunari.com/entry/2017/10/11/003225

Recommended Posts

Introduction de flacon - Mémo d'application Blueprint
Mémo du flacon
Mémo Primer Flask
Mémo de base Flask
Paramètres de l'application Flask
Application Web avec Python + Flask ② ③
Application Web avec Python + Flask ④
Créer une application Web avec Flask ②
[Mémo] Liens lors du développement avec Flask
ballon
Hello World avec Flask [Mémo approprié]
ballon
Créer une application Web avec Flask ①
Créer une application Web avec Flask ③
Créer une application Web avec Flask ④
Développement d'applications avec Docker + Python + Flask
Essayez d'utiliser le framework d'application Web Flask