【问题标题】:Flask RestPlus Api module has no attribute namespaceFlask RestPlus Api 模块没有属性命名空间
【发布时间】:2019-07-31 04:50:42
【问题描述】:

我目前开始学习 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"

【问题讨论】:

    标签: python rest api flask flask-restplus


    【解决方案1】:

    循环导入存在一些问题。 app.py 导入和 healthResource.pyhealthResource.py 导入 app.py。您可以避免这种更改 healthResource.py

    from flask_restplus import Resource, Namespace
    
    ns = Namespace('health', description='API Health Resource')
    

    【讨论】:

      猜你喜欢
      • 2013-09-29
      • 2015-09-09
      • 1970-01-01
      • 2011-03-05
      • 2018-12-27
      • 1970-01-01
      • 2010-11-04
      • 2015-04-09
      • 2017-05-30
      相关资源
      最近更新 更多