0

{{STATIC_URL}}テンプレートのいたるところで使用しています (簡単にするために、例としてホームページを使用します) 。そこで、「home_base.html」という親テンプレートを用意しました。これは、次のような状況でタグを使用します。

<script src="{{STATIC_URL}}js/plugins.js">
<img src={{STATIC_URL}}img/blah.jpg>

私の urls.py ファイルには、同じビューを指す2 つの URL があります。

url(r'^home/$', 'homepage.views.HomeView'),
url(r'^home/x/$', 'homepage.views.HomeView', {'x': '3'}),

mysite.com/home にアクセスすると、すべて正常に動作します。しかし、mysite.com/home/x にアクセスすると、アプリの静的フォルダーにあるファイルが見つかりません。テンプレートの静的ファイルごとに、次のようなエラーが表示されます。

[30/Jan/2013 13:04:20] "GET /homepage/static/js/plugins_functions.js HTTP/1.1" 404 7325
[30/Jan/2013 13:04:20] "GET /homepage/static/js/backb_global.js HTTP/1.1" 404 7310

最初に追加/homepage/しているようです...通常は取得します/static/js...

URLパスに何かを追加することに関係があることがわかりました。これは、URLを次のように変更すると、すべてが完全に機能するためです。

url(r'^home/$', 'homepage.views.HomeView'),
url(r'^x/$', 'homepage.views.HomeView', {'x': '3'}),

URL にスラッシュを追加すると、すべてがめちゃくちゃになるのはなぜですか? どうすれば修正できますか?このように家に追加したいのですがurl(r'^home/add/stuff/to/address/$'、それでもすべての{{STATIC_URL}}タグが機能しています。

この親テンプレートを他の多くのテンプレートのベースとして使用していることに注意してください。そのため、URL のパスに追加して、{{STATIC_URL}}タグを home_base.html ファイルに保持できることが重要です。

4

2 に答える 2

0

文字列変数をエスケープしてみてください

{{STATIC_URL|safe}}
于 2013-01-30T22:28:11.193 に答える
0

https://docs.djangoproject.com/en/dev/howto/static-files/を確認しましたか?

テンプレートで {{ STATIC_URL }} が機能しない場合は、テンプレートをレンダリングするときに RequestContext を使用していない可能性があります。

と:

「django.core.context_processors.static」が TEMPLATE_CONTEXT_PROCESSORS にあることを確認してください。

于 2013-01-30T22:29:40.620 に答える