flask学习(三) 自定义url转换器
程序员文章站
2022-04-03 08:35:48
...
from flask import Flask,url_for,redirect
from werkzeug.routing import BaseConverter
app = Flask(__name__)
class Telephoneconverter(BaseConverter):
regex=r'1[34578]\d{9}'
class Listconverter(BaseConverter):
def to_python(self,value):#返回值将会传递到视图函数中作为参数
return value.split('+')
def to_url(self,value):#返回值将会在调用url_for()的时候生成符合要求的url形式
return '+'.join(value)
app.url_map.converters['tel']=Telephoneconverter #tel自己随便命名
app.url_map.converters['list']=Listconverter
@app.route('/telephone/<tel:num>/')
def my_tel(num):
return 'your telephone number is %s'%num
@app.route('/')
def test():
return redirect(url_for('my_post',note=['a','b']))
@app.route('/post/<list:note>/')
def my_post(note):
return 'your submitted message is %s'%note
if __name__ == '__main__':
app.run()