前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >flask第二十一篇——练习题

flask第二十一篇——练习题

作者头像
孟船长
发布2018-05-21 11:02:03
5800
发布2018-05-21 11:02:03
举报
文章被收录于专栏:自动化测试实战

自定义url转化器

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

答案:

代码语言:javascript
复制
# coding: utf-8

from flask import Flask
from werkzeug.routing import BaseConverter

app = Flask(__name__)  # type: Flask
app.debug = True

@app.route('/')
def hello_world():
    return 'Hello World!'

class NumConverter(BaseConverter):

    regex = r'\d+-\d+'

    # 把url中的参数传到视图函数中,用to_python方法
    def to_python(self, value):
        tmp = value.split('-')
        if int(tmp[0]) < int(tmp[-1]):
            nums = range(int(tmp[0]), int(tmp[-1])+1)
            return str(nums)
        else:
            return u'请检查传入的参数'

    # 把类似[1,2,3]这样的列表转换成/1-3/这种url
    def to_url(self, value):
        min = value[0]
        max = value[-1]
        temp = '%s-%s' % (min, max)
        return temp

app.url_map.converters['num'] = NumConverter

@app.route('/login/<num: values>/')
def numList(values):
    return values

if __name__ == '__main__':
    app.run()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 自动化测试实战 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 答案:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档