2017-06-28 9 views
2

私は素敵なindex.htmlファイルを持っています。それは拡張テンプレートで、その親はbase.htmlファイルです(私の場合はbase2.htmlです)。私は自分のサイトのいくつかのファイルにGoogleアナリティクスのコードスニペットを追加しようとしていました。拡張テンプレートのタグに何かを追加すると、スクリプトコードが無視されるようなものになります。私が間違っていることはありますか?私はbase2.htmlにそれをちょうど加えてもいいと知っていますが、それはそれがサイトの多くのページの親であるため、これまでのシングルヒットを追跡します。Googleアナリティクスの拡張djangoテンプレートにjavascriptを追加

答えて

1

base2.htmlindex.htmlを見ることなく、それは答えるためにかなり厳しいですが、最も可能性の高い犯人はあなたが親テンプレートに存在する{% block %}<script></script>内部を置くのを忘れていることです。 template inheritance in Djangoの場合、親はすべてのブロックの「スケルトン」を定義し、子はそれらのブロックをオーバーライドする必要があります。{{ block.super }}を使用して、そのブロックの親テンプレートのコンテンツをすべて継承し、親「スケルトン」テンプレート内のブロックに含まれていない子テンプレート内のコンテンツは、レンダリングされません。

# base2.html 
<body> 
    {% block content %} 
    {% endblock content %} 

    {% block footer_scripts %} 
    <script src="foobar"> ...</script> 
    {% endblock footer_scripts %} 
</body> 

あなたはこのを追加した場合、それは動作しません:

# index.html - DOES NOT WORK 
{% extends 'base2.html' %} 
<script> 
// GA javascript 
</script> 

あなたがブロックに含める必要があります。

# index.html - DOES WORK 
{% extends 'base2.html' %} 
{% block footer_scripts %} 
    {{ block.super }} 
    <script> 
    // GA javascript 
    </script> 
{% endblock %} 
関連する問題