Flask 内置 URL 变量转换器:
转换器通过特定的规则执行,"<转换器: 变量名>".<int: year > 把 year 的值转换为证书, 因此我们可以在视图函数中直接对 year 变量进行数学计算:
- @App.route('/goback/<int:year>'
- def go_back(year):
- return '<p>Welcom to %s ! </p>' %(2019-year)
- if __name__ == '__main__':
- App.run(debug = True)
any 转换器:
需要在转换器后添加括号来给出可选值, 在写这个变量的值时, 如果在可选值范围内, 就会执行视图函数的逻辑, 否则会报 404 错误
- @App.route('/colors/<any(blue,white,red):color>')
- def three_colors(color):
- return '<p>Love is patient and kind. Love is not jealous or boastful or proud or rude. </p>'
- if __name__ == '__main__':
- App.run(debug = True)
如果想再 any 转换器中传入一个预先定义好的列表, 可以通过格式化字符串的方式 (使用 % 或是 format() 函数)来否建 URL 规则字符串, 例如:
- colors = ['blue','white','red']
- @App.route('/colors/<any(%s):color>' %str((colors))[1:-1])
- def three_clors(color):
- return '<p>Love is patient and kind. Love is not jealous or boastful or proud or rude. </p>'
- if __name__ == '__main__':
- App.run(debug = True)
来源: http://www.bubuko.com/infodetail-2955931.html