蓝图
# 创建蓝图 & 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()
红色部分需要放到别的地方,然后导包过来
# 安装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()
例
在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()