別のアプリケーションで別のテンプレートを使用するにはどうすればよいですか。プロジェクトには 1) サイト 2) 広告という 2 つのアプリがあります。または、テンプレートで 2 行だけを変更する必要があるため、「if 条件」を使用する方法があります。
3 に答える
まず、異なるアプリケーションで同じテンプレートを使用する必要はありません。最近の一般的な方法は、テンプレート ディレクトリをそれぞれのアプリ フォルダーに配置することであるため、アプリごとに異なるテンプレートを使用できます。
さらに、2行の変更には、いつでも`を使用できます
{% if condition %}
something
{% else %}
some other thing
{% endif %}
また
{% ifequal var 'var' %}
something
{% else %}
some other thing
{% endifequal %}
すべて同じテンプレートです。
編集
差分アプリケーションで同じテンプレートを使用する場合は、最初に django テンプレート ローダーが同じアプリ ディレクトリでテンプレートを検索し、次にプロジェクトのルート ディレクトリでテンプレートを検索し、見つからない場合はテンプレートのパスを適用できます。 django 独自のテンプレート ソースを探します。
したがって、どこでもテンプレートを使用したい場合は、apps ディレクトリと同じパスに配置された、templates というフォルダーにそれらを配置できます。(つまり、プロジェクトのルート)。
projectroot/app1/templates/app1.html
projectroot/app2/templates/app2.html
projectroot/app3/
projectroot/templates/common.html
同様に、common.html はすべてのアプリで使用できます。
テンプレートの継承を使用http://www.djangobook.com/en/1.0/chapter04/ベース テンプレートを定義し、目的のブロックのみを変更します。
Pl。私が提起した質問へのリンクを確認してください。回答はYuji Tによって提供されています