Скажем, у меня есть плагин контента, который добавляет переменную {{ category }}
в контекст плагина.
Плагин может отображаться ноль или несколько раз в заполнителе. Мне все равно, какую переменную я получаю, но я хочу получить к ней доступ из родительского шаблона, например.
plugin.html
<div class="widget">
{{ category }}
</div>
home.html
{% extends "base.html" %}
<h1>{{ category }}</h1> <!-- I want the optional variable here -->
<div class="main">
{% placeholder content %}
</div>
Я знаю, что feincms использует тег шаблона под названием «фрагмент», который может добавлять и проверять переменные в объекте запроса, но кажется, что django-cms не имеет такой системы, так как же правильно это сделать?
Я попытался добавить его в сеанс в плагине;
def render(self, context, instance, placeholder):
...
request = context['request']
request.session['category'] = instance.category
...
Это работает, но только после обновления страницы, иначе переменная находится «на одну страницу позади»...