Как использовать необработанный код Python в шаблоне Django? - PullRequest
13 голосов
/ 22 мая 2011

В шаблонах smarty вы можете использовать необработанный код PHP в шаблоне, поместив его в тег шаблона «literal»:

{literal}

echo 'hello world';

{/literal}

Как использовать необработанный код Python в шаблоне Django?

Ответы [ 6 ]

15 голосов
/ 22 мая 2011

Вы не можете, поэтому вам нужно создать собственный тег шаблона, который запускает функциональность. Вот больше информации о том, как это сделать:

http://docs.djangoproject.com/en/dev/howto/custom-template-tags/

3 голосов
/ 22 мая 2011

Вы не можете использовать код Python в шаблоне Django.Это сделано специально, идея Django о шаблоне состоит в том, чтобы изолировать логику представления от программного кода.

Состояния документации Django :

Механизм шаблонов Django предоставляетмощный мини-язык для определения пользовательского уровня вашего приложения, способствующий четкому разделению логики приложения и представления

2 голосов
/ 22 мая 2011

Вы не можете.Как и большинство вменяемых шаблонных движков, Django этого не допускает (я не говорю, что Django вменяемый или что-то в этом роде ...).

1 голос
/ 18 января 2014

Вы можете использовать тег verbatim в Django 1.5 и далее следующим образом:

{% verbatim myblock %}
    Avoid template rendering via the {% verbatim %}{% endverbatim %} block.
{% endverbatim myblock %}
1 голос
/ 22 мая 2011

Вы не можете. Тем не менее, есть такие вещи, как Mako , которые позволяют вам это делать, но, в основном, это хорошая идея держать свою логику (то есть python) подальше от шаблонов.

На самом деле, некоторые шаблоны допускают только подстановку переменных.

0 голосов
/ 12 ноября 2017

Вы просто не можете! .Вы просто можете получить доступ к некоторому необработанному коду Python внутри шаблонов jinja, например, вызывая переменную словаря с помощью цикла for и т. Д., И используя пользовательские шаблоны, вы можете расширить механизм шаблонов, определив пользовательские теги и фильтры с помощью Python, а затем сделать их доступными для ваших шаблонов. используя тег {% load%} .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...