Модуль Flask RestPlus Api не имеет атрибута пространства имен - PullRequest
0 голосов
/ 09 марта 2019

В настоящее время я начинаю изучать инфраструктуру Flask RestPlus.У меня есть следующий код, который я запустил, но я не могу понять, почему я продолжаю получать эту ошибку ниже.Я ценю любую помощь, спасибо!

Трассировка стека:

api_1  | Traceback (most recent call last):
api_1  |   File "/app/app.py", line 3, in <module>
api_1  |     from api.main.resources.healthResource import ns as health_resource_ns
api_1  |   File "/app/api/main/resources/healthResource.py", line 4, in <module>
api_1  |     ns = api.namespace('/health', description='API Health Resource')
api_1  | AttributeError: module 'app.api' has no attribute 'namespace'

Вот мой код:

app.py

from flask import Flask, Blueprint
from flask_restplus import Api
from api.main.resources.healthResource import ns as health_resource_ns

app = Flask(__name__)
api = Api(version='1.0', title='flask-api-template',
          description='Flask RestPlus API Template Project')


def initialize_app(flask_app):
    blueprint = Blueprint('api', __name__, url_prefix='/api')

    api.init_app(blueprint)

    api.add_namespace(health_resource_ns)

    flask_app.register_blueprint(blueprint)


def run():
    initialize_app(app)
    app.run()


if __name__ == '__main__':
    run()

healthResource.py

from flask_restplus import Resource
from app import api

ns = api.namespace('/health', description='API Health Resource')


@ns.route("/")
class HealthResource(Resource):
    def get(self):
        return "Success"

1 Ответ

1 голос
/ 09 марта 2019

У вас есть проблемы с циклическим импортом. app.py импорт и healthResource.py и healthResource.py импорт app.py . Вы можете избежать этого, изменив healthResource.py :

from flask_restplus import Resource, Namespace

ns = Namespace('health', description='API Health Resource')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...