CherryPy的URL生成器

6 投票
1 回答
732 浏览
提问于 2025-04-16 04:54

在使用werkzeug作为网络框架之后(这个框架很好用,简单明了,但有些功能不支持),我现在开始尝试cherrypy。

我在cherrypy中缺少的是werkzeug那种优雅的构建网址的方式(比如在模板中生成链接),它是通过装饰器函数的名字来实现的,像这样:

@expose('/archive/<int:year>/<int:month>')
def archive(request, year, month):
    pass

>>> url_for('archive',2010,04)
'/archive/2010/04'

我在cherrypy中没有找到类似的方式,是我遗漏了什么吗?

1 个回答

3

你没有错过什么。CherryPy并没有内置那种功能在它的'expose'装饰器里。不过,你可以使用内置的Routes调度器,它的URL模板语法和你想要的类似。如果你想尝试把这个功能封装成像werkzeug那样的装饰器,我们很希望你能把代码分享在http://tools.cherrypy.org的维基上。如果你能把这个逻辑直接加到RoutesDispatcher类里,那就更棒了。

撰写回答