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()を 2 番目の定義 (アップロード) で使用する方法がわからないことです。

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

やり方を教えてください。事前に感謝します。

4

1 に答える 1

3

フルパスを含めるのを忘れたようです:

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

静的アセットは、静的アセット用に登録した一致するパスに基づいて検索されます。2 つの静的ビューの登録には、パスstatic/data/uploadsをそれぞれ使用します。1 つ目は に対する相対myappパスですが、2 つ目は絶対パスです。静的ビューに絶対パスを使用する場合は、静的 URL を生成するときにも同じ絶対パスを使用する必要があります。

于 2012-11-28T14:35:10.473 に答える