Flask008_构造 URL
- 通过 url_for 函数构造 URL。
- url_for 接收视图函数名作为第1个参数,以及其他 URL 定义时的参数,其他参数添加到 URL 的后面作为查询字符串参数。
1 @app.route('/blog/<int:blog_id>') 2 def blog_detail(blog_id): 3 return f"您查找的博客 id为{blog_id}" 4 5 6 @app.route("/urlfor") 7 def get_url_for(): 8 url = url_for('blog_detail', blog_id=2, user="admin") 9 return url
自定义 url 参数转换
- 代码
1 from flask import Flask 2 from werkzeug.routing import BaseConverter 3 import config 4 5 app = Flask(__name__) 6 app.config.from_object(config) 7 8 9 class PhoneConveter(BaseConverter): 10 regex = r"^1\d{10}$" 11 12 13 app.url_map.converters["phone"] = PhoneConveter 14 15 16 @app.route("/phone/<phone:phone_num>") 17 # 接收的参数必须符合手机号码格式 18 def phone(phone_num): 19 return f"接收到的手机号码为:{phone_num}" 20 21 22 if __name__ == "__main__": 23 app.run()
- 效果