Тег django INCLUDE принимает только один аргумент (нельзя использовать WITH) - PullRequest
1 голос
/ 15 мая 2011

Когда я пытаюсь использовать следующее:

{% include 'stream_doc.html' with doc=draft %}

в моем HTML (draft - это объект в контексте итерации цикла), я получаю ошибку:

  File "C:\Program Files (x86)\Google\google_appengine\lib\django_1_2\django\template\loader_tags.py", line 210, in do_include
raise TemplateSyntaxError("%r tag takes one argument: the name of the template to be included" % bits[0])
TemplateSyntaxError: u'include' tag takes one argument: the name of the template to be included

Может кто-нибудь сказать мне, что происходит?Насколько я могу судить, я следую документации Django .Это то, что я не могу сделать в движке приложения?

Ответы [ 2 ]

6 голосов
/ 07 июля 2011

На Django 1.2 и ниже, я считаю, что это можно обойти с помощью

{% with draft as doc %}
{% include "stream_doc.html" %}
{% endwith %}

По крайней мере, это работает для моего случая использования, когда я передавал фиксированное значение, как в документации, использующей

{% with "Jane" as person %}
2 голосов
/ 15 мая 2011

Вы пропустили бит в документах, с которыми вы связаны, где написано "Изменено в Django 1.3"?Ваш путь указывает на то, что вы используете Django 1.2.Вы должны смотреть на документацию 1.2 .

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