flask第二十一篇——练习题

自定义url转化器

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

答案:

# 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()

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2018-04-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习之tensorflow实战篇

pycharm 之模块与模块引用

首先在pycharm,创建文件的快捷键ALT+INS,可以将自己常用的模版导入 ? 其次函数的模块调用规则如下图 ? 模块引用并指导源文...

3699
来自专栏大数据智能实战

module 'tensorflow.python.framework.fast_tensor_util' does not match runtime version 3.6问题解决

最近在重新用tensorflow 1.3.*或者1.4 的时候,发现了好多问题,主要是碰到了如题目所示的问题,目前网上没有什么好的解决办法。 ? 关于这个问题,...

28310
来自专栏Java成神之路

Java微信开发_03_使用测试号进行开发

今天进行自定义菜单的开发时,发现公众号没有自定义菜单的权限。于是想到用测试号,但微信服务器如何区分你要请求的是公众号还是测试号呢。

813
来自专栏康怀帅的专栏

GitHub Pages 常见问题

本文列举了一些使用 GitHub Pages 遇到的问题及其解决方法。 资源 404 你可以使用以下方法中的一种来解决该问题。 禁用 jekyll 以 _下划线...

3063
来自专栏不想当开发的产品不是好测试

查看jar包的jdk版本并降级

用解压工具打开jar包(例子都是用7zip) ? 进入到META-INF目录,查看MANIFEST.MF文件,查看Bulid-Jdk,下图就为1.7.0_55版...

2887
来自专栏python3

python3--中的进程操作--multiprocess模块

运行中的程序就是一个进程。所有的进程都是通过它的父进程来创建的。因此,运行起来的python程序也是一个进程,那么我们也可以在程序中再创建进程。多个进程可以实现...

1141
来自专栏Petrichor的专栏

pycharm: 跳转 & 回退

2522
来自专栏技术博文

Linux下">/dev/null 2>&1 "相关知识说明

在学习Linux的过程中,常会看到一些终端命令或者程序中有 ">/dev/null 2>&1" 出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者...

30610
来自专栏Hongten

hibernate中的java对象有几种状态,其相互关系如何(区别和相互转换)

花了一些时间理解hibernate中的java对象的几种状态,很容易就懂了,这里记录一下,分享给大家!!

1503
来自专栏野路子程序员

从已有安装包(vendor)恢复 composer.json

5355

扫码关注云+社区

领取腾讯云代金券