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
Мое мнение, вам это не нужно, причина каждого нового тега в шаблоне - неправильная логика.