10
で{%静的な 'パス' %}:Djangoの私のscript.jsでJavaScriptファイル
pic.src = "/static/photos/1.jpg"; // This works
pic2.src = "{% static 'photos/1.jpg' %}" // Does not work
なぜ世界で、これはどうなりますか?
{% load staticfiles %}
<script src="{% static 'script.js' %}"></script> // This works
をそして、それは{%負荷staticfiles%}または{%負荷静的%}です:私のhome.htmlであるので、{%静的な 'パス' %}は動作しますか?両方とも私のために働く、script.jsが読み込まれます。
はい、htmlファイルはテンプレートですが、静的ファイルはそのように扱われないためです。 –
シメオンにお返事ありがとうございました!したがって、pic.src = "static/photos/1.jpg"は唯一の方法ですか? – lucahuy
テンプレート/ビューからJavaScriptをレンダリングしたければ、簡単にそれを行うことができます。しかし、おそらくあなたが望むものではありません。おそらく、jsの大部分を静的ファイルにしてから、ビュー固有のコードをテンプレートの末尾に
パスをテンプレートに割り当ててから、JavaScriptファイルで使用することができます。
テンプレート:
Javascriptを:
出典
2015-01-13 23:14:16 nima
あなたの
.js
ファイルに多くの静的(またはメディア)のURLのが必要な場合は、これがより便利かもしれません:そして、両方のURLのは、すべてのJavaScriptファイルで自由にご利用いただけます。
出典
2015-01-13 23:33:43 knbk
これにより、配置時にcollectstaticに問題が発生します。 –
@NKどのような問題がありますか? – knbk
私はこのようなURLを作成することが問題を引き起こしていると思っていました。{%static%}で作成されていないURLの場合、リソースは収集されていませんでした。しかし、私は後でこの問題が他のものであることを発見しました。これらはおそらく後処理段階で収集されています。 –