2013-04-29 2 views
0

Мой вопрос в основном о переменных рендеринга. Например, допустим, у меня есть объектный блок, где block.text = '{{"hello" | trans}}'Django Template Render Включенная переменная

Я хочу включить его в свой базовый шаблон. Очевидно, что не будет работать то, что я намерен.

{% include block.text %} 

Как я могу сделать это в своем шаблоне?

+0

- это то, что вы хотите визуализировать содержимое переменной, которую вы переводили внутри кода python? include tag для включения шаблона, а не переменной, я не понимаю, чего вы хотите достичь. – Ponytech

+0

«это то, что вы хотите визуализировать содержимое переменной« ДА. «include tag предназначен для включения шаблона, а не переменной». Вы правы, но я пытаюсь добиться такой функциональности. Для этого не требуется тег include. Возможно, мне нужно создать собственный тег? – Sepero

ответ

0

Не кажется хорошей идеей генерировать динамические шаблоны со стороны представления для визуализации в шаблон.

Но помните, у вас есть другой изящный подход, как:

  • Inclusion tags Является ли тип тега, который отображает некоторые данные путем предоставления другого шаблона.
  • Include «Загружает шаблон и отображает его в текущем контексте».

Кроме того, принять во внимание, что вы можете использовать IF заявление в шаблон, чтобы включить или не включать некоторые шаблон и, кроме того, вы можете пройти дополнительный контекст к прилагаемому шаблону, используя аргументы ключевых слов (например: {% include "name_snippet.html" with person="Jane" greeting="Hello" %}).

+0

Эй, спасибо за советы. В моей реальной настройке я рассматриваю возможность хранения шаблонов в базе данных, а не в файлах. Вот почему я ищу эту функциональность. – Sepero

+0

Вы можете принять во внимание этот пакет: https://pypi.python.org/pypi/django-dbtemplates – danihp