0

これがDjangoのテンプレート哲学ではないことは知っていますが、http応答コンテキストで指定したプラグインのリストに応じて、さまざまなテンプレートを含めることができるようにしたいと思います。たとえば、次のプラグインを構成している場合:

 context['plugins'] = ['weather']

各テンプレートをベーステンプレートファイルに含めようとしています。

{% for custom_plugin in custom_plugins %}
    {% include "map/plugins/custom/{{ plugin }}/includes.html" %}
{% endfor %}

私も試しました:

{% for plugin in plugins %}
    @register.inclusion_tag("map/plugins/custom/{{ plugin }}/includes.html", takes_context=True)
{% endfor %}

今のところ、各プラグインのincludes.htmlファイルにはスクリプト参照とcssクラスのみが含まれます。

<script type="text/javascript" src="{{ MEDIA_URL }}map/js/plugins/custom/weather/weatherStation.js?ver={{ version }}"></script>

助言がありますか?

4

1 に答える 1

1

あなたの最初の方法が最善のようです、そしてこの答えはあなたがそれをどのように進めるかについてのいくつかの指針を提供するかもしれません:djangoテンプレートで文字列を連結する方法?

基本的に、withタグを使用して変数に含めるテンプレートの文字列を作成し、それを含めます。

于 2012-06-23T21:20:01.317 に答える