Вернув свой путь обратно в Python (5 серии деталей)
Если ваш проект Flask начал расти больше, и многие функции добавляются, вы не должны писать их в одном файле. Flask имеет свой способ отделить функции, используя чертежи.
Основная структура и файлы
Как стартер, у нас есть только один файл в нашем проекте:
- project |_ app.py
И файл – это простое приложение Flask, как это:
from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World!' if __name__ == '__main__': app.run(debug=True)
Создание продуктов и чертежи магазинов
Для примеров, давайте создадим папку с именем чертежи
а также создать Products_blueprints
и Stores_blueprints
- project |_ blueprints |_ products_blueprint.py |_ stores_blueprint.py |_ app.py
И для чертежей давайте сделаем их простыми:
Blueprints/Products_bluePrints
:
from flask import Blueprint, jsonify products_blueprint = Blueprint('products_blueprint', __name__) @products_blueprint.route('/api/products') def product_list(): return jsonify({'data': [{'id': 1, 'name': 'Cappucinno'}]})
Blueprints/Stores_blueprints
:
from flask import Blueprint, jsonify stores_blueprint = Blueprint('stores_blueprint', __name__) @stores_blueprint.route('/api/stores') def store_list(): return jsonify({'data': [{'id': 1, 'name': '4th Avenue Cafe'}]})
Импорт и регистрация чертежей в приложение Flaks
Давайте изменим app.py
Чтобы импортировать чертежи и зарегистрировать их в приложение:
from flask import Flask from blueprints.products_blueprint import products_blueprint from blueprints.stores_blueprint import stores_blueprint app = Flask(__name__) @app.route('/') def hello(): return 'Hello World!' app.register_blueprint(products_blueprint) app.register_blueprint(stores_blueprint) if __name__ == '__main__': app.run(debug=True)
Вот и все. Попробуйте запустить и получить доступ к API/продукты
и API/магазины
чтобы убедиться, что это работает.
Вернув свой путь обратно в Python (5 серии деталей)
Оригинал: “https://dev.to/dendihandian/modular-flask-app-with-blueprints-186”