Django template - глобальное пространство имен шаблона как значение параметра для тега включения

У меня есть шаблон Django для рендеринга таблиц, который я могу успешно включать в другие свои шаблоны. Я принимаю префикс и параметр пространства имен, где пространство имен является ключом в контексте рендеринга:

{% include "table.html" with prefix=name|add:"_" namespace=rubric1 %}

, а в шаблоне я использую, например,

{% for object in namespace.object_list %}
    ...
{% endfor %}

Мой контекст рендеринга выглядит следующим образом:

context = {
    'some_var': ...,
    'rubric1': {
        'object_list': ...,
        'direction': ...,
        'orderby': ...,
        'total': ...,
        'page': ...,
        ...
    },
    'rubric2': {
        'object_list': ...,
        ...
    },
}

Теперь я хочу использовать этот шаблон в ListView, где эти ключи находятся в корне контекстного пространства имен:

context = {
    'some_var': ...,
    'object_list': ...,
    'direction': ...,
    'orderby': ...,
    'total': ...,
    'page': ...,
    ...
}

Как указать тегу включения использовать корень контекста рендеринга в качестве пространства имен?

Существует ли специальная переменная для этого? Например:

{% include "table.html" with prefix=name|add:"_" namespace=global_template_namespace %}

Или я могу как-то использовать контекст with? Например:

{% with global_template_namespace as ns %}
 {% include "table.html" with prefix=name|add:"_" namespace=ns%}
{% endwith%}

Я также думал о simple_tag, который непосредственно возвращает контекст, но не смог использовать результат в качестве аргумента:

@register.simple_tag(takes_context=True)
def root_namespace(context):
    return context
Вернуться на верх