Django Как передать имя пользователя в предопределенном шаблоне

Я создал шаблоны для header/footer и imports, если я хочу получить доступ к имени пользователя в шаблоне header, я не могу этого сделать, потому что у него нет представлений. Как я могу передать имя пользователя в шаблон заголовка?

header_template.py

from django import template

register = template.Library()


@register.inclusion_tag('home/partials/header.html')
def header(element):
    return {'element': element, }

Импорт в шаблон

{% load header_template %}
{% header context %}

Использование в шаблоне:

                        {% if user.is_authenticated %}
                            <a class="btn btn-primary display-4" href="{% url 'home:profil' %}">Profil</a>
                        {% else %}
                            <a class="btn btn-primary display-4" href="{% url 'home:login' %}">Login</a>
                        {% endif %}

Thanks for your help.

Вы можете взять context в свой тег:

@register.inclusion_tag('home/partials/header.html', takes_context=True)
def header(context, element):
    return context | {'element': element}

Читайте подробнее здесь: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#inclusion-tags

Мое мнение, вам это не нужно, причина каждого нового тега в шаблоне - неправильная логика.

Вернуться на верх