私はdjango sekizai appを実装しようとしています。私が追加しているjsファイルを複製しています。django sekizai {%addtoblock%}タグが正しく動作していません
ベーステンプレート:私はそれがwasnのdiv内の同じスクリプトを追加しようとしたときに今ここにレンダリングされたテンプレートがtwice.Butレンダリングしている
{% load sekizai_tags %}
<div id="a1" >
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
</div>
{% addtoblock "my_js" %}
<script type="text/javascript" src="{{ MEDIA_URL }}js/my_js.js"></script>
{% endaddtoblock %}
:このベースを使用している
{% load sekizai_tags %}
...
{% render_block "my_js" %}
テンプレート複製されません。誰かがこれについていくつかの光を当てることができれば感謝します!
テンプレートタグでレンダリングされたテンプレートで{%addtoblock%}を使用しようとすると、スクリプトが失われてしまいます(テンプレートには含まれていません)。
注:テンプレートタグrender_block
およびaddtoblock
は、django-sekizaiパッケージからのものです。
がよく、私は私のスクリプトの複製の背後にある理由を見出すことができますdiv内外のスクリプトの字下げ。 {%addtoblock%}タグは明らかに空白を削除しません。だから私の最初の質問を解決するには、以下のような愚かなものである: {%負荷sekizai_tags%}
カスタムテンプレートタグのテンプレートでもスクリプトが消えていました。 [django-sekizai-docs](https://github.com/ojii/django-sekizai/blob/master/docs/restrictions.rst)に従って、SekizaiContextまたはRequestContextとSekizaiコンテキストプロセッサのどちらかを使用することが義務付けられていますが、テンプレートのコンテキストのサイズを小さくしたい場合(cont = {})、このcont ['SEKIZAI_CONTENT_HOLDER'] = context ['SEKIZAI_CONTENT_HOLDER']を使用して回避策を見つけました。この回避策では、RequestContextを使用する必要はなく、sekezaiコンテキストプロセッサだけで十分です。 –