| 12345678910111213141516171819202122 |
- class Redprint:
- def __init__(self, name):
- # name 是指视图类
- self.name = name
- # mound 是绑定路由方法 有多个
- self.mound = []
-
- # 重写路由 定义装饰器
- def route(self, rule, **options):
- def decorator(f):
- self.mound.append((f, rule, options))
- return f
- return decorator
-
- # 进行注册,传入蓝图和默认前缀
- 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)
-
|