2016-12-04 9 views
1

私はDjangoのフラットページを使用しており、htmlインクルードの一部としてフラットページのタイトルを渡そうとしています。Django - flatpage.title変数をインクルードの一部として渡します

{% block navbar %} 
    {% include 'navbar.html' with active='{{flatpage.title}}' %} 
{% endblock %} 

これはので、私は、ナビゲーションバーの所在を強調表示することができます。

<ul class="nav navbar-nav"> 
    <li class="{% if active == 'home' %}active{% endif %}"><a href="{% url 'home' %}">Home</a></li> 
    etc. 
</ul> 

正しく表示されません。ところが、{{flatpage.title}}をハードコードされた値、つまり{ 「家庭」はうまく動作します。

{% block navbar %} 
    {% include 'navbar.html' with active='home' %} 
{% endblock %} 

私はこれを行うことができませんか?

私は、これらの値をチェックするためにDjangoテンプレートをデバッグする方法が明確ではありません...私が現在変数が適切な値を渡しているかどうかを確認する方法は、単に{{flatpages.title}}別のところでは、htmlで別に - 私は期待していた正しい 'home'の価値を表現しているようだ。

<div id="navbar" class="navbar-collapse collapse"> 
    <ul class="nav navbar-nav"> 
    <li class="{% if active == 'home' %}active{% endif %}"><a href="{% url 'home' %}">Home</a></li> 
    {{flatpage.title}} 
    etc. 
    </ul> 
</div> 

答えて

1

テンプレートタグの{{}}カッコで引数を囲む必要はありません。

文字列ではなく変数の場合は、引用符を使用しないでください。

次のように動作するはずです:

{% block navbar %} 
    {% include 'navbar.html' with active=flatpage.title %} 
{% endblock %} 

は、より多くの情報

+0

はいあなたは正しいへincludeセクションを参照してください。私はこれを試したことを誓ってもいいかもしれないが、私は正しくはないと思う。ドキュメントへのリンクありがとうございます。 – jayuu

関連する問題