关于金字塔中的add_static_view和static_url

时间:2012-11-21 07:03:09

标签: python web pylons pyramid

我添加如下静态视图:

config.add_static_view('CF_static', 'cistromeprimerscanner:templates/static', cache_max_age=604800)

当我想在模板文件中使用静态目录中的文件时,我需要这样写,这很长:

${request.static_url('cistromeprimerscanner:templates/static/logo.png')}

我想知道为什么我不应该这样写:

$(request.static_url("CF_static/logo.png")}

就像:

${request.route_path("CF_view")}

有没有人有这方面的想法?谢谢!

1 个答案:

答案 0 :(得分:0)

static_url的文档指定您可以使用相对路径,但我认为这可能会在某些时候导致问题(您不希望代码在移动某些文件后停止工作)。< / p>

很容易添加自己的方法来请求,这将是一个捷径。例如:

def CF_static(request, path):
    return request.static_url('cistromeprimerscanner:templates/static/%s'%pth)
config.add_request_method(CF_static)

然后,你可以写:

${request.CF_static('logo.png')}
金字塔1.4中提供了

add_request_method。如果您不想使用alpha,则可以使用set_request_property代替。