2024-09-28 16:49:01 发布
网友
我用路由来完成所有的URL映射工作。以下是我的应用程序中的一个典型路径:
map.routes('route', '/show/{title:[^/]+}', controller='generator', filter_=postprocess_title)
我经常需要从{title}参数中去掉一些字符(如空格和下划线)。目前,控制器中的每个方法都有一个调用来执行此转换的函数。这不太方便,我想找路线做这项工作。有可能吗?在
我不熟悉路线,因此我不知道你所追求的路线是否可行。在
但是也许你可以用一个装饰器来装饰你的控制器方法,根据需要从参数中去掉字符?在
不知道这是否更方便。但对我来说,使用decorator与在controller方法中内联执行相同的操作有不同的“感觉”。在
例如:
@remove_spaces_from('title') def my_controller(...): ...
如果您不熟悉decorators,那么在google上搜索“python decorators”就可以开始了。要记住的一个关键点是:当decorator需要参数时,需要在decorator中有两个级别的包装。在
我不熟悉路线,因此我不知道你所追求的路线是否可行。在
但是也许你可以用一个装饰器来装饰你的控制器方法,根据需要从参数中去掉字符?在
不知道这是否更方便。但对我来说,使用decorator与在controller方法中内联执行相同的操作有不同的“感觉”。在
例如:
如果您不熟悉decorators,那么在google上搜索“python decorators”就可以开始了。要记住的一个关键点是:当decorator需要参数时,需要在decorator中有两个级别的包装。在
相关问题 更多 >
编程相关推荐