Api does not have register attribute. flask_restplus
Создаю небольшое Апи на фласке. При помощи flask_restplus пытаюсь создать Namespace для одного из контроллеров в приложении:
# controllers/catalog_controller.py
from flask_restplus import Namespace, Resource
catalog_namespace = Namespace('catalogs', description='Catalogs CRUD')
@catalog_namespace.route('/')
class CatalogResource(Resource):
...
После чего создаю Api, как показано в документации тут:
# controllers/__init__.py
from flask import Blueprint
from flask_restplus import Api
from controllers.catalog_controller import catalog_namespace
api_bp = Blueprint('Terminology API', __name__, url_prefix='api/')
api = Api(api_bp, title='My Title', version='1.0', description='A description',)
api.add_namespace(catalog_namespace)
Эти два этапа отрабатывают без ошибок. Проблема в следующем:
# app.py
from flask import Flask
from dotenv import load_dotenv
load_dotenv()
from controllers import api
app = Flask(__name__)
app.register_blueprint(api)
if __name__ == '__main__':
app.run(debug=True)
На строчке app.register_blueprint(api) выскакивает ошибка:
AttributeError: Api does not have register attribute
Уже не первые сутки бьюсь с этой проблемой. В интернете почти ничего нет. На руках есть проект с точно такой же реализацией и там все работает как часы. Прошу помощи.
UPD:
Разобрался. Я пытался зарегистрировать api, которая не является блюпринтом. Нужно было в app.py прописывать app.register_blueprint(api_bp)
Ответы (1 шт):
Разобрался. Я пытался зарегистрировать api, которая не является блюпринтом. Нужно было в app.py прописывать app.register_blueprint(api_bp)