flask篇 蓝图、restful

蓝图

# 创建蓝图 & 2添加蓝图路由
from flask import Blueprint

# 创建蓝图对象
users_bp = Blueprint('users', __name__)

# 添加蓝图路由
@users_bp.route('/index')
def indext():
    return 'users bp response'

# 注册蓝图
from flask import Flask
# 导入蓝图
from apps.users_bp import users_bp

# 创建Flask实例
app = Flask(__name__)
# 注册蓝图
app.register_blueprint(users_bp)

if __name__ == '__main__':
    # 查看路由映射
    print(app.url_map)
    app.run()




例
from flask import Flask
from flask import Blueprint


app=Flask(__name__)

# 创建一个蓝图模板
main_blue=Blueprint('blue_one',__name__)

# 定义视图函数,使用蓝图配置路由
@main_blue.route('/hello')
def index():
    return '12345'


# 把蓝图注册到app上
app.register_blueprint(main_blue,url_prefix='/two')
if __name__=='__main__':
    app.run()

红色部分需要放到别的地方,然后导包过来

restful

# 安装flask-restful扩展包
pip install flask-restful

# 基本使用
1.导入Api与Resource, api用于创建api对象, Resource用于类视图的形式实现
2.创建api对象
3.自定义视图类, 必须继承Resource
4.视图类中定义请求方法
5.使用api对象添加路由

# 简单接口的实现
from flask import Flask
# 1.导入Api, Resource
from flask_restful import Api, Resource

app = Flask(__name__)
# 2.创建api对象
api = Api(app)


# 3.自定义类视图, 必须继承于Resource
class IndexResource(Resource):
    # 4.在视图类中定义请求方法
    def get(self):
        # 返回响应
        return 'first restful api'


# 5.使用api对象的add_resource()添加路由
    # IndexResource是视图
    # '/index'是路由
    # endpoint是路由别名
api.add_resource(IndexResource, '/index', endpoint='index')


# 程序入口
if __name__ == '__main__':
    app.run(debug=True)

from flask import Flask
from flask_restful import Api,Resource

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

class One(Resource):
    def get(self):
        return '获取'
    def post(self):
        return '添加成功'


api.add_resource(One,'/index')
if __name__=='__main__':
    app.run()

蓝图与restful一起用

flask篇 蓝图、restful_第1张图片

在bookbule.py文件中

from flask_restful import Api,Resource

from flask import make_response, jsonify
from flask import Blueprint

book_blue=Blueprint('book',__name__)
api=Api(book_blue)

# 自定义类视图,必须继承于Resource
class Books(Resource):
    def get(self):
        resp=make_response('

返回图书列表

') return resp def post(self): return jsonify({"msg":"添加成功"}) # 把这个视图类 配置一个路由 api.add_resource(Books,"/book") 在restful.py文件中
from apps.bookblue import book_blue
from flask import Flask

app=Flask(__name__)

app.register_blueprint(book_blue,url_prefix="/three")
if __name__=='__main__':
    app.run()

 

你可能感兴趣的:(flask,python)