flask第二十一篇——练习题

自定义URL转换器
本文介绍如何使用Flask框架创建自定义URL转换器,该转换器可以解析特定格式的URL参数,并将其转换为一系列整数列表。同时展示了如何将整数列表再次转换回URL格式。

自定义url转化器

实现一个自定义的URL转换器,这个转换器需要满足的是获取从多少到多少的url,例如,你输入的地址是http://127.0.0.1:8000/1-5/,那么页面返回[1,2,3,4,5]

答案:

 1 # coding: utf-8
 2 
 3 from flask import Flask
 4 from werkzeug.routing import BaseConverter
 5 
 6 app = Flask(__name__)  # type: Flask
 7 app.debug = True
 8 
 9 @app.route('/')
10 def hello_world():
11     return 'Hello World!'
12 
13 class NumConverter(BaseConverter):
14 
15     regex = r'\d+-\d+'
16 
17     # 把url中的参数传到视图函数中,用to_python方法
18     def to_python(self, value):
19         tmp = value.split('-')
20         if int(tmp[0]) < int(tmp[-1]):
21             nums = range(int(tmp[0]), int(tmp[-1])+1)
22             return str(nums)
23         else:
24             return u'请检查传入的参数'
25 
26     # 把类似[1,2,3]这样的列表转换成/1-3/这种url
27     def to_url(self, value):
28         min = value[0]
29         max = value[-1]
30         temp = '%s-%s' % (min, max)
31         return temp
32 
33 app.url_map.converters['num'] = NumConverter
34 
35 @app.route('/login/<num: values>/')
36 def numList(values):
37     return values
38 
39 if __name__ == '__main__':
40     app.run()

 

转载于:https://www.cnblogs.com/captainmeng/p/8718440.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值