Flak 自定义URL转换器

11 篇文章 0 订阅

本文转载:https://www.cnblogs.com/captainmeng/p/8572838.html

URL转换可以使用户访问多个场景,继承了一个BaseConverter类。URL有些不太明白,转载过来保存起来,以后再看。

# coding: utf-8
from flask import Flask
from werkzeug.routing import BaseConverter
import flask
app = Flask(__name__)  # type: Flask
app.debug = True
# 根目录
@app.route('/')
def hello_world():
    return 'Hello World!'

class ListConverter(BaseConverter):
    def to_python(self, values):
        """
        将url中的参数转换为我们需要的数据类型
        """
        # split方法就是去掉加号并返回list类型数据
        tmp = values.split('+')
        print( 'tmp: %s' % tmp)
        return tmp

    def to_url(self, values):
        """
        将[1,2,3]转换成1+2+3
        """
        # 遍历列表values中的数据,以+连接,最后tmp1的值即1+2+3
        # BaseConverter.to_url是对url进行编码
        print("values:",values)
        tmp1 = '+'.join([BaseConverter.to_url(self, value) for value in values])
        print('tmp1:%s' % tmp1)
        return tmp1

# 将写好的类注册到DEFAULT_CONVERTERS

app.url_map.converters['list'] = ListConverter
@app.route('/detail/<list:params>/')
def detail(params):
    print('parmas:%s' % params)
    return 'success for url,8888'

with app.test_request_context():
    print('detail函数的url是:%s' % flask.url_for('detail', params=[1, 2, 3]))

if __name__ == '__main__':
    print(11111)
    app.run()

网址:http://127.0.0.1:5000/detail/1+2+3/

内容:success for url,8888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理Flask简单整理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值