欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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()

相关标签: url