7

ピラミッドとpythonへのnewb。どの jinja2 テンプレートでも、静的ファイルに正常にリンクできました。つまり、次のようになります。

<link rel="stylesheet" type="text/css" href="{{'myproject:static/mycss.css'|static_url}}"></link>

.css ファイルは正常に読み込まれ、jinja テンプレート内で行う限り、静的フォルダー内にある任意の画像にリンクできます。

画像を背景として使用したいのですが、css ファイル内の画像へのリンクに問題があります。

#mydiv{
background-image:url("{{'myproject:static/myimage.gif'|static_url}}");
}

このリンクは mycss.css に次のように表示されます。

"{{'myproject:static/myimage.gif'|static_url}}"

リンクとして表示されません。(外部でホストされている画像を背景画像としてロードすると機能します)

どうも!

4

1 に答える 1

11

CSS ファイルは静的ファイルであるため、テンプレートとして扱われません。すべての静的リソースは、処理なしでそのまま提供されます。

CSS ファイル内のすべての非絶対 URL は、CSS ファイルが読み込まれた場所からの相対 URL です。を使用するbackground-image:url("myimage.gif")と、ブラウザは CSS ファイルの場所に関連する画像を読み込みます。CSS は から読み込まれたhttp://yoursite/static/mycss.cssため、画像は から読み込まれhttp://yoursite/static/myimage.gifます。

または、通常とは異なる場所 (ビューの 1 つによって自動生成された画像など) からファイルを参照する場合は、代わりに CSS ファイルをビューとして追加し、(テキスト) テンプレートでレンダリングする必要があります。

于 2012-09-25T16:26:16.997 に答える