私のプロジェクトでは、いくつかのパラメータに応じてCSS要件を別々に扱う必要があります。したがって、私は、利用可能な静的管理システムと比べて、抽象レベルを追加する必要があります。ブロック外で動作するカスタムDjangoテンプレートタグを作成するには?
私のテンプレートでは、CSS(およびJS)要件を{% register_css 'myfile.css' %}
のようなテンプレートタグに登録できるようにしたいと考えています。このアプローチは魅力のように機能します。
しかし、このアプローチにはまだ1つの問題があります。タグはブロックに挿入すると完全に機能しますが、子テンプレートの上に挿入したときには呼び出されません。タグの定義は次のとおりです、「ホーム」CSSが登録されることをテンプレートに
{% extends main_skelton %}
{% load static_registry %}
{% register_css 'base' %}
{% block title %}Welcome{% endblock %}
{% block content %}
{% register_css 'home' %}
<p>Some content here</p>
{% endblock %}
ではなく、「ベース」1:
@register.simple_tag(takes_context = True)
def register_css(context, *args):
context['static_registry'].register_css(streamlet)
return ''
これは私のテストテンプレートです。私はどうすれば両方の仕事をすることができますか?
ありがとうございます!
実際にそれを行う最もエキサイティングな方法ではありません...しかし、それは動作します。ありがとう。 – Pierre