小编jef*_*rey的帖子

python flask-restful blueprint和factory pattern一起工作?

我正在使用flask-restful进行一项宁静的服务,我想在我的项目中利用工厂模式和蓝图.在app/__init__.py我有一个create_app函数来创建一个烧瓶应用程序,并返回给外线来电,所以调用者可以启动应用程序.

def create_app():
    app = Flask(__name__)
    app.config.from_object('app.appconfig.DevelopmentConfig')
    from app.resource import resource
    app.register_blueprint(v1, url_prefix='/api')
    print app.url_map
    return app
Run Code Online (Sandbox Code Playgroud)

在该函数内部,我打算使用前缀url注册指向实现包的蓝图.

app/resource/__init__.py下面是代码

from flask import current_app, Blueprint, render_template
from flask.ext import restful
resource = Blueprint('resource', __name__, url_prefix='/api')

@resource.route('/')
def index():    
    api = restful.Api(current_app)
    from resource.HelloWorld import HelloWorld
    api.add_resource(HelloWorld, '/hello')
Run Code Online (Sandbox Code Playgroud)

我的目标是我可以在url访问HelloWorld休息服务/api/hello,但我知道上面的代码有些错误@resource.route('/') ....我得到了一些错误,如AssertionError: A setup function was called after the first request was handled. This usually indicates a bug in the app ...在 …

python rest blueprint flask flask-restful

9
推荐指数
1
解决办法
6145
查看次数

python flask-restful无法在资源类中获取应用程序访问权限

以下是来自flask-restful doc的示例代码

from flask import Flask
from flask.ext import restful

app = Flask(__name__)
api = restful.Api(app)

class HelloWorld(restful.Resource):
    def get(self):
        return {'hello': 'world'}

api.add_resource(HelloWorld, '/')

if __name__ == '__main__':
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

这个HelloWorld类在同一个python文件中,比方说app.py,它有效.

现在我将把HelloWorld类放到一个单独的类文件中,如下面的布局:

app
app/__init__.py # hold above code except the HelloWorld class.
app/resource
app/resource/__init__.py # empty
app/resource/HelloWorld.py # hold the above HelloWorld class.
Run Code Online (Sandbox Code Playgroud)

app/__init__.py包含:

from flask import Flask
from flask.ext import restful
from resource.HelloWorld import HelloWorld

app = Flask(__name__)
api …
Run Code Online (Sandbox Code Playgroud)

python flask flask-restful

2
推荐指数
1
解决办法
2461
查看次数

标签 统计

flask ×2

flask-restful ×2

python ×2

blueprint ×1

rest ×1