2016-12-04 2 views
1

장고 플랫 페이지를 사용 중이고 HTML 포함의 일부로 플랫 페이지의 제목을 전달하려고합니다.Django - flatpage.title 변수를 include의 일부로 전달합니다.

{% 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

관련 문제