Я разрабатываю приложение Flask
0.12 с Blueprints и пытаюсь использовать Flask-JWT
(0.3.2) для аутентификации.
Ни в одном из руководств, которые я вижу для Flask-JWT, не используются Blueprints.
Обычно в каждом примере есть блок кода, который делает что-то вроде этого:
app = Flask(__name__)
jwt = JWT(app, authenticate, identity)
В разработанном фляжном приложении структура выглядит примерно так:
__init__.py:
from swarm.controllers.main import main
from swarm.controllers.grid import grid
from swarm.controllers.address import address
def create_app(object_name):
app = Flask(__name__)
...
app.register_blueprint(main)
app.register_blueprint(grid)
app.register_blueprint(address)
контроллеры/main.py:
main = Blueprint('main', __name__)
контроллеры/grid.py:
grid = Blueprint('grid', __name__)
controllers/address.py:
address = Blueprint('address', __name__)
Как мне сослаться на Flask-JWT
и использовать его декораторы в контроллерах?
Возможно, будет проще ответить на этот вопрос, показав, как добавить декораторы JWT в стандартный пример, такой как blueprintexample в исходном коде flask или демо REST API Михала Карзинского.
api.route
должен быть самым внешним декоратором. См. stackoverflow.com/a/31757446/5819113. 13.06.2019