2011-12-20 1 views
1

Я использую django какое-то время, и теперь я перехожу к jinja2, потому что GAE мне тоже сказал. Одним из сокращений, которые я использую для django, является передача «self» в django при рендеринге моего шаблона, чтобы в моем шаблоне я вызывал {{self.stuff}}. В джиня кажется, что «я» представляет что-то. Требуется ли мне изменить все мои шаблоны, чтобы использовать, возможно, «это»?jinja2 не может читать самостоятельно

+0

Можете ли вы показать нам пример? –

+2

'self' в целом не является правильным словом для использования в вашей ситуации, поэтому обязательно измените его на' имя-obj' или просто 'obj'. – Ski

ответ

2

self фактически используется Jinja2, чтобы ссылаться на блоки:

<!-- In your layout.html file --> 
<title>{%- block title %}{% endblock %}</title> 
<!-- Some distance further down ... --> 
<h1>{{self.title()}}</h1> 

<!-- In a file that extends layout.html --> 
{% block title %}The Title of the Page{% endblock %} 

<!-- The above will render --> 
<title>The Title of the Page</title> 
<!-- Some other stuff ... --> 
<h1>The Title of the Page</h1> 

Просто используйте другое имя, и все будет работать (то есть, а не self использование this или obj как предложено @Skirmantas).

+0

Спасибо за помощь – rp90