26

「ランダムな」htmlコードを含むbase.htmlファイルがあり、次のコードがあります。

{% load staticfiles %}
<!DOCTYPE html>
<html>
   <head>
      ... 
     {% block extra_js_top %}{% endblock %}
   </head>
   ...
</html>

私のindex.htmlファイルでは、 base.htmlを拡張し、いくつかの追加の JavaScriptファイルをロードします。

{% extends "base.html" %}
...
{% block extra_js_top %}
   <script type="text/javascript" src="{% static "js/somejs.js" %}"></script>
{% endblock %}

問題は、静的変数が原因で余分な JavaScript が読み込まれないことです。テンプレート内にあるbase.htmlを拡張しても読み込まれません。最後に、index.html{% load staticfiles %}にもう 1 つ追加して問題を解決しました。{% load staticfiles %}

{% load staticfiles %}私の質問は、既にテンプレートがあるファイルを拡張したとしても、使用するすべてのテンプレートに追加する必要があるのはなぜですか?

4

3 に答える 3

3

それがテンプレートタグの仕組みだからです。それらを使用するすべてのテンプレート ファイルに対して、各ライブラリをロードする必要があります。

于 2013-01-03T15:16:45.973 に答える
0

{% load staticfiles %}URL 展開が必要な場所で必要になるのは当然です。base.html&の両方でそれが起こっている場合はindex.html、両方の場所に含める必要があります (既に考えたように)。

于 2014-02-23T17:10:32.573 に答える