Python Flask自定义URL路由参数过滤器的方法详解

 更新时间:2024年07月24日 10:03:11   作者:彭世瑜  
Flask是一个轻量级的Python Web应用框架,它允许开发者以一种简洁明了的方式来构建Web应用,Flask自定义URL的主要功能在于使得开发者能够通过简单的路由规则来自定义应用程序的URL结构,本文给大家介绍了Python Flask自定义URL路由参数过滤器的方法,需要的朋友可以参考下

简单的例子

先看一个简单的例子,GET请求需要传递一个参数,我们直接获取的是字符串

from flask import Flask

app = Flask(__name__)


@app.get("/<value>")
def index(value):
    return str(2 == value)


if __name__ == "__main__":
    app.run()

手动类型转换

需要获取数值,需要进行类型转换

from flask import Flask

app = Flask(__name__)


@app.get("/<value>")
def index(value):
    # return str(2 == value)
    return str(2 == int(value))


if __name__ == "__main__":
    app.run()

GET http://127.0.0.1:5000/2

True

自动类型转换

Flask提供了内置的类型过滤器,可以直接转换成我们需要的类型,就不需要手动进行类型转换了

from flask import Flask

app = Flask(__name__)


@app.get("/<int:value>")
def index(value):
    # return str(2 == int(value))
    return str(2 == value)


if __name__ == "__main__":
    app.run()

GET http://127.0.0.1:5000/2

True

支持的过滤类型

string: 默认的数据类型,接收没有任何斜杠"\ /"的字符串

int: 整型

float: 浮点型

path: 和string类型相似,但是接受斜杠,如:可以接受参数/aa/bb/cc/多条放在一起

uuid: 只接受uuid格式的字符串字符串,

自定义路由过滤器

继承BaseConverter类,实现两个转换方法即可

from flask import Flask, url_for
from werkzeug.routing import BaseConverter

app = Flask(__name__)


# 定义转换器
class ListConverter(BaseConverter):
    def to_python(self, value):
        """解析url参数"""
        return value.split(',')

    def to_url(self, value):
        """转为url参数"""
        return ','.join(value)


# 注册
app.url_map.converters['list'] = ListConverter


@app.get("/<list:value>")
def index(value):
    print(url_for('index', value=['a', 'b', 'c']))
    # 输出:/a,b,c
    return str(value)


if __name__ == "__main__":
    app.run()

GET http://127.0.0.1:5000/1,2,3

['1', '2', '3']

到此这篇关于Python Flask自定义URL路由参数过滤器的方法详解的文章就介绍到这了,更多相关Flask自定义URL路由参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Python实现的ID3决策树功能示例

    基于Python实现的ID3决策树功能示例

    这篇文章主要介绍了基于Python实现的ID3决策树功能,简单描述了ID3决策树的相关概念,并结合实例形式分析了Python实现ID3决策树的具体定义与使用技巧,需要的朋友可以参考下
    2018-01-01
  • Python结合Deepseek编写一个PDF转Word软件

    Python结合Deepseek编写一个PDF转Word软件

    如今,在线工具的普及让PDF转Word成为了一个常见需求,本文将利用Python开发一款本地化的PDF批量转换为Word的软件,有需要的小伙伴可以参考下
    2025-02-02
  • pandas 空数据处理方法详解

    pandas 空数据处理方法详解

    这篇文章主要介绍了pandas 空数据处理方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • Python实现的破解字符串找茬游戏算法示例

    Python实现的破解字符串找茬游戏算法示例

    这篇文章主要介绍了Python实现的破解字符串找茬游戏算法,简单分析了找茬游戏的原理,并结合具体实例形式分析了Python实现破解找茬游戏的相关实现技巧,需要的朋友可以参考下
    2017-09-09
  • 现代Python编程的四个关键点你知道几个

    现代Python编程的四个关键点你知道几个

    这篇文章主要为大家详细介绍了Python编程的四个关键点,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-02-02
  • window11系统下Python3.11安装numpy库超详细教程

    window11系统下Python3.11安装numpy库超详细教程

    这篇文章主要给大家介绍了关于window11系统下Python3.11安装numpy库的相关资料,NumPy是Python的第三方扩展包,但它并没有包含在Python标准库中,因此您需要单独安装它,需要的朋友可以参考下
    2023-12-12
  • Python中的字典遍历备忘

    Python中的字典遍历备忘

    这篇文章主要介绍了Python中的字典遍历备忘,本文列举了多种字典遍历方法,适合初学者查看,并简单讲解了interitems和iterms区别,需要的朋友可以参考下
    2015-01-01
  • Flask-Mail用法实例分析

    Flask-Mail用法实例分析

    这篇文章主要介绍了Flask-Mail用法,结合实例形式分析了Flask-Mail的安装、配置参数及简单使用技巧,需要的朋友可以参考下
    2018-07-07
  • Python实现哲学家就餐问题实例代码

    Python实现哲学家就餐问题实例代码

    这篇文章主要给大家介绍了关于Python实现哲学家就餐问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 使用PyTorch训练一个图像分类器实例

    使用PyTorch训练一个图像分类器实例

    今天小编就为大家分享一篇使用PyTorch训练一个图像分类器实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01

最新评论