python-flask-route
来源:互联网 发布:一元微信提现赚钱软件 编辑:程序博客网 时间:2024/06/05 23:49
1. add_url_rule
def add_url_rule(self, rule, endpoint, **options): options['endpoint'] = endpoint options.setdefault('methods', ('GET',)) self.url_map.add(Rule(rule, **options))
2. route
def route(self, rule, **options): def decorator(f): self.add_url_rule(rule, f.__name__, **options) self.view_functions[f.__name__] = f return f return decorator
3. url_map 和 view_function
from werkzeug.routing import Mapclass Flask(object): def __init__(self, package_name): ... self.view_functions = {} self.url_map = Map() ...
4. Rule类
class Rule(RuleFactory): def __init__(self, string, defaults=None,subdomain=None, methods=None, build_only=False, endpoint=None, strict_slashes=None, redirect_to=None, alias=False, host=None): if not string.startswith('/'): raise ValueError('urls must start with a leading slash') self.rule = string self.is_leaf = not string.endswith('/') self.map = None self.strict_slashes = strict_slashes self.subdomain = subdomain self.host = host self.defaults = defaults self.build_only = build_only self.alias = alias if methods is None: self.methods = None else: self.methods = set([x.upper() for x in methods]) if 'HEAD' not in self.methods and 'GET' in self.methods: self.methods.add('HEAD') self.endpoint = endpoint self.redirect_to = redirect_to if defaults: self.arguments = set(map(str, defaults)) else: self.arguments = set() self._trace = self._converters = self._regex = self._weights = Nonclass
5. Map类
Map(object): default_converters = ImmutableDict(DEFAULT_CONVERTERS) def __init__(self, rules=None, default_subdomain='', charset='utf-8', redirect_defaults=True, converters=None, sort_parameters=False, sort_key=None, encoding_errors='replace', host_matching=False): self._rules = [] self._rules_by_endpoint = {} self._remap = True self._remap_lock = Lock() ... def add(self, rulefactory): for rule in rulefactory.get_rules(self): rule.bind(self) self._rules.append(rule) self._rules_by_endpoint.setdefault(rule.endpoint, []).append(rule) self._remap = True
route —–> add_url_rule/view_functions —–> Rule —–> url_map_add
阅读全文
0 0
- python-flask-route
- 简单实现flask route
- Flask 路由 route
- Flask和@app.route
- Flask-HelloWorld-09 @app.route
- flask -- route修饰器源码
- Flask源码解读(3) -- route
- flask(python)
- Python Flask
- python+flask
- python flask
- flask @app.route() 传入多个参数
- Flask和@app.route(1)
- Flask和@app.route(2)
- Flask和@app.route(1)
- flask route 方法不能使用 test
- Flask和@app.route(1)
- python flask mysql-python
- strcat源码分析
- 跨域的post
- LeetCode70 Climbing Stairs
- CSS 多类选择器
- 2017-08-06 NOIP模拟赛
- python-flask-route
- CentOS 安装openssh-server 并安卓连接服务器
- 常用软件收集
- threadProduceAndConsumer
- 关于提高程序效率的一些建议
- Hive、Hbase、mysql区别
- spring mvc学习
- Java数据类型转换
- mount 挂载点