视图函数跳转

url_for 函数

一般我们通过一个url就可以执行到某一个函数,反过来,我们知道一个函数,

怎么去获得url呢?url_for 函数就可以帮我们实现这个功能

、url_for 函数,接收两个及以上的参数,接收函数名作为第一个参数,接收

对应url规则命名的参数,如果还出现其他的参数,则会添加到url的后面作为查询参数

实现效果:

 

 

代码实现:

from flask import Flask, url_for,redirect

from werkzeug.routing import BaseConverter



app = Flask(__name__)


class CustomConverter(BaseConverter): #自定义转换器要继承父类baseConverter
regex = r'1[3-9]\d{9}' #regex 是固定写法

#将自定义转换器添加到转换器列表中**
app.url_map.converters['phonenum'] = CustomConverter #phonenum是自定义转换器名字


@app.route("/phone/<phonenum:pho_num>")
def phone(pho_num):
print(type(pho_num))
return "当前访问手机号为: {}".format(pho_num)

@app.route("/")
def index():
print(url_for('phone', pho_num=13599999999))
print(url_for('phone', pho_num=13599999999,page=2))
return redirect(url_for('phone', pho_num=13599999999)) #浏览器请求/地址会重定向到/phone/13599999999

if __name__ == '__main__':
app.run()

 

 

posted @ 2024-07-18 10:31  yongheng999  阅读(19)  评论(0)    收藏  举报