Python路由中路由参数的预处理

2024-09-28 16:49:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我用路由来完成所有的URL映射工作。以下是我的应用程序中的一个典型路径:

map.routes('route', '/show/{title:[^/]+}', controller='generator', filter_=postprocess_title)

我经常需要从{title}参数中去掉一些字符(如空格和下划线)。目前,控制器中的每个方法都有一个调用来执行此转换的函数。这不太方便,我想找路线做这项工作。有可能吗?在


Tags: 路径应用程序url路由map参数titleshow
1条回答
网友
1楼 · 发布于 2024-09-28 16:49:01

我不熟悉路线,因此我不知道你所追求的路线是否可行。在

但是也许你可以用一个装饰器来装饰你的控制器方法,根据需要从参数中去掉字符?在

不知道这是否更方便。但对我来说,使用decorator与在controller方法中内联执行相同的操作有不同的“感觉”。在

例如:


@remove_spaces_from('title')
def my_controller(...):
    ...

如果您不熟悉decorators,那么在google上搜索“python decorators”就可以开始了。要记住的一个关键点是:当decorator需要参数时,需要在decorator中有两个级别的包装。在

相关问题 更多 >