Рубрики
Без рубрики

Приложение модульной колбы с чертежами

Если ваш проект Flask начал расти больше, и многие функции добавляются, вы не должны писать их в … Tagged Flask, Python, API, WebDev.

Вернув свой путь обратно в 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”