flask-restful中蓝图和类视图配合使用

flask-restful中蓝图和类视图配合使用

蓝图和类视图可以配合使用, 步骤如下:
1.创建蓝图对象

蓝图对象 = Blueprint('蓝图名', __name__)

2.每个蓝图分别创建组件对象

组件对象 = Api(蓝图对象)

3.组件对象添加类视图

组件对象.add_resource(视图类, URL资源段)

4.应用注册蓝图

应用对象.register_blueprint(蓝图对象)
  • 在 user包中创建 views文件, 定义类视图
# user/views.py

from flask_restful import Resource


class DemoResource(Resource):
    def get(self):
        return {
     'get': 'hello'}

    def post(self):
        return {
     'post': 'world'}

在 user包 的初始化文件 init.py 中:

  • 创建蓝图对象
  • 通过蓝图对象创建对应的组件对象
  • 组件对象添加类视图
# user/__init__.py

from flask import Blueprint
from flask_restful import Api
from user.views import DemoResource

# 1.创建蓝图对象,url_prefix可以给蓝图添加统一的前缀url
user_blu = Blueprint('user', __name__, url_prefix='/user')

# 2.创建蓝图对应的api对象
user_api = Api(user_blu)

# 3.添加类视图
user_api.add_resource(DemoResource, '/')
  • 想要让蓝图对象能够完成路由定义, 还需要 Flask应用注册蓝图对象
# main.py

from flask import Flask
from user import user_blu

app = Flask(__name__)
# 4.注册蓝图
app.register_blueprint(user_blu)

if __name__ == '__main__':
    print(app.url_map)
    app.run(debug=True, port=8000)

你可能感兴趣的:(扩展包,flask,flask-,python)