2010-10-04 2 views
2

Например, у меня есть файл шаблона под названием:Как использовать {% с%} вместе с {% включают%} - Джанго

filter.html

{{ title }} 

code... 

Что я хотел бы необходимо сделать в отдельном шаблоне:

{% with "Filter by Types" as title %} 
    {% include "filter.html" %} 
{% endwith %} 

В настоящее время это невозможно. Может ли кто-нибудь объяснить, почему это так, и альтернативный способ достичь этого?

Фоновая контекст:

Приложение база используется для нескольких сайтов. Администратор сайта мог бы только редактировать файлы шаблонов, чтобы дать им степень настройки, но не файлы views.py или другие основные файлы. Таким образом, переменная {{title}} не может быть действительно отправлена ​​view.py.

+0

У меня были некоторые сходные проблемы с несколькими сайтами, и в итоге я добавил различные процессоры контекста на разные сайты. Например. Общие представления django позволяют добавить в представление дополнительный контекст, который можно указать, например, в urls.py вашего сайта. –

+1

Почему вы говорите, что этого нельзя сделать? Я делаю именно это все время. Что именно происходит, когда вы пытаетесь? –

+0

@ Даниэль: Вы правы! Я просто попробовал еще раз, и это работает. Должно быть, я сделал опечатку или что-то еще не так, когда я пробовал это раньше. Благодаря! – MonkeyBoo

ответ

4

Возможно, мне что-то не хватает, но почему бы не просто использовать extends и block теги?

base.html

{% block title %}Default title{% endblock %} 

filter.html

{% extends "base.html" %} 
{% block title %}Filter by Types{% endblock %} 

Заканчивать документация по extends, blocks и template inheritance для получения дополнительной информации.

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