2

在金字塔应用程序中,我定义了一个静态视图用于提供 css/js 文件,另一个用于提供其他数据,例如上传的文件:

config.add_static_view('static', 'static', cache_max_age=3600)
config.add_static_view('uploads', path='/data/uploads')

在模板方面,我使用request.static_url()来访问静态文件:

<script type="text/javascript" src="${request.static_url('myapp:static/js/jquery-1.8.3.min.js')}"></script>

问题是我不知道如何将request.static_url()与第二个定义(上传)一起使用,我从来没有工作过并使应用程序崩溃:

${request.static_url('uploads/a_named_file')}

你能解释一下我该怎么做吗?提前谢谢。

4

1 回答 1

3

看起来您忘记包含完整路径:

${request.static_url('/data/uploads/a_named_file')}

根据您为静态资产注册的匹配路径查找静态资产。对于您的两个静态视图注册,您分别使用路径static/data/uploads。第一个是相对于myapp,但第二个是绝对路径。当为静态视图使用绝对路径时,您需要在生成静态 URL 时使用相同的绝对路径。

于 2012-11-28T14:35:10.473 回答