flask蓝图?蓝图的用处及缺陷

蓝图:是为了处理模块的拆分。而不是视图函数级别的拆分。

  • 非处理试图函数级别的拆分
  • 造成url冗长。

蓝图的使用:
在试图函数部分:
from flask import Blueprint
book = Blueprint(“book”, --name–)
接下来拿book替代app就可以了
在app和蓝图连接时
app.register_blueprints(蓝图),连接成功。

所以我们要自制红图

class Redprint:
	# 传入红图的名字
	def __init__(self, name):
    	self.name = name
    	self.mound = []

	# 装饰器注册实现
	def route(self, rule, **options):
    	def decorator(f):
        	self.mound.append((f, rule, options))
        	return f
    	return decorator

	# 实现register将红图与蓝图连接起来
	def register(self, bp, url_prefix=None):
    	if url_prefix is None:
        	url_prefix= "/" + self.name
    	for f, rule, options in self.mound:
        	endpoint = options.pop("endpoint", f.__name__)
        	bp.add_url_rule(url_prefix + rule, endpoint, f, **options)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值