django: доступ к request.get_full_path из включенного шаблона - PullRequest
2 голосов
/ 04 марта 2012

Я включаю templateInclude.html в templateA.html. Хотя я могу получить доступ к {{request.get_full_path}} из templateA.html, я не могу сделать это из templateInclude.html.

Я бы хотел решить и понять эту проблему. Есть ли способ передачи объекта запроса во включенный шаблон?

1 Ответ

5 голосов
/ 04 марта 2012

Если вы используете Django версии 1.3+, вы можете использовать:

{% include "templateInclude.html" with full_path=request.get_full_path %}

Для более ранних версий вы должны использовать with templatetag ie.

{% with request.get_full_path as full_path %}
    {% include "templateInclude.html" %}
{% endwith %} 

Вв обоих случаях просто используйте full_path в шаблоне, который вы будете включать.

В целом, он работает как контекстный менеджер в обычном коде Python - http://www.python.org/dev/peps/pep-0343/

В любом случае это странно, потому что в соответствии сДокументы, включенные шаблоны имеют доступ ко всему контексту родительского шаблона.Проверьте, используете ли вы RequestContext в представлении или в качестве промежуточного программного обеспечения.

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