2016-12-04 2 views
1

Я использую flatpages Django и пытаюсь передать название плоской страницы как часть html include.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, который, как представляется, отображает правильное «домашнее» значение, которое я ожидал бы.

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

include см раздел для получения дополнительной информации

+0

Да, вы правы. Я мог бы поклясться, что я пробовал это, но, думаю, не так. Спасибо также за ссылку на документацию. – jayuu

 Смежные вопросы

  • Нет связанных вопросов^_^