Просмотр шаблона UserDetail приводит к переключению пользователя
У меня есть простая модель группы:
class Group(models.Model):
leader = models.ForeignKey(User, on_delete=models.CASCADE)
name = models.CharField(max_length=55)
description = models.TextField()
joined = models.ManyToManyField(User, blank=True)
В DetailView для каждой группы другие пользователи имеют возможность видеть, кто присоединился, а также проверить профиль пользователя:
{% extends 'base.html' %}
<ul>
{% for member in group.joined.all %}
<li><a href="{% url 'user_detail' member.id %}">{{ member }}</a></li>
{% endfor %}
</ul>
Это работает, но с небольшой загвоздкой. Когда я нажимаю на ссылку и перехожу в DetailView этого пользователя, я внезапно оказываюсь под его именем. Но только на этой странице, потому что когда я возвращаюсь на свою домашнюю страницу, я снова вхожу как оригинальный пользователь.
Чтобы быть более ясным, когда я (как пользователь 'admin') иду и нажимаю на ссылку другого пользователя, я попадаю в правильное представление UserDetail:
<h6>{{user.username}}</h6>
<div>Username: {{user.username}}</div>
<div>Email: {{user.email}}</div>
<div>First: {{user.first_name}}</div>
<div>Last: {{user.last_name}}</div>
<div>Groups Joined:
{% for group in user.account.joined_group.all %}
<a href="{% url 'group_detail' group.pk %}">{{group}}</a>
{% endfor %}
</div>
<div>Groups Created:
{% for group in user.account.created_groups.all %}
<a href="{% url 'group_detail' group.pk %}">{{group}}</a>
{% endfor %}
</div>
{% if user.is_authenticated and user.id == user.account.id %}
<a href="{% url 'update_user' user.pk %}">Update Information</a>
<a href="{% url 'update_email_preferences' user.pk %}">Update Email Preferences</a>
{% endif %}
Однако мой base.html
теперь обновлен и отображает имя нового пользователя:
{% if user.is_authenticated %}
<li><a href="{% url 'create_group' %}">Create</a></li>
<li><a href="{% url 'logout' %}">Logout </a></li>
<li>
<a href="{% url 'user_detail' user.id %}">
{{ user.username }}
{% if user.socialaccount_set.exists %}
<img src="{{ user.socialaccount_set.all.0.get_avatar_url }}" />
{% endif %}
</a>
</li>
Изменение только временное, но моя проблема в том, что я не знаю, как я должен создать решение. Я хочу, чтобы пользователи могли видеть другие страницы UserDetail, как в случае с Groups, но я хочу, чтобы пользователь оставался зарегистрированным. Должен ли я передавать что-то другое вместо user? Например, member? Неужели django запутался?