flask:路由

1. 指定路由的访问方式

@app.route('/',methods=['GET','POST'])
 
2. url路由对应
1. 一个页面,多个url
@app.route('/h2')
@app.route('/h1')
def h1():
    return 'hello1'

2. 利用cname,反推到另一个页面(url_for)
@app.route('/login')
def login():
    url = url_for('index')
    return redirect(url)

 

3. 转换器路由

# 利用转换器(正则)表示的url
int  转换整数
float  转换浮点数

@app.route('/<int:name1>')
@app.route('/<float:name1>')
@app.route('/<name1>')  # 不加规则,默认是字符串。

例子int类型
@app.route('/<int:name1>')
def re(name1):
    return 'in the page %s' % name1

 

 

4. 自定义转换器(正则url)

from werkzeug.routing import BaseConverter

# 第一步:定义转换器
class RegexConverter(BaseConverter):
    def __init__(self, url_map, regex):
        super().__init__(url_map)
        self.regex = regex

# 第二步:把转换器引入到url_map.converters中,并命名为new_re,(其实就是在url_map.converters字典中添加new_re,值是定义的定义器)
app.url_map.converters['new_re'] = RegexConverter

# 第三步:引用new_re这个转换器
@app.route('/send/<new_re(r"1[34578]\d{9}"):mobile>')
def re(mobile):
    return 'send sms to %s' % mobile

 

5。。。。

【完】

posted on 2020-05-07 01:26  yeyu1314  阅读(97)  评论(0编辑  收藏  举报