• flask第二十一篇——练习题


    自定义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()
  • 相关阅读:
    KVC的取值和赋值
    OC中属性的内存管理
    mysql的通信协议
    Proactor模式&Reactor模式详解
    Linux异步IO学习
    Redis 分布式锁的实现原理
    redis过期键
    智能指针
    std::unique_lock与std::lock_guard
    手撕代码
  • 原文地址:https://www.cnblogs.com/captainmeng/p/8718440.html
Copyright © 2020-2023  润新知