У меня есть DetailView
, который отображает страницу профиля следующим образом:
class ProfileView(DetailView):
model = User
slug_field = 'username'
template_name = 'oauth/profile.html'
context_object_name = 'user_profile'
Модель пользователя содержит поля о пользователе, такие как id, username, email, password
У меня также есть другая модель, которая имеет отношение один ко многимс этой моделью пользователя.Он показывает, за кем следует пользователь:
class Following(models.Model):
target = models.ForeignKey('User', related_name='followers', on_delete=models.CASCADE, null=True)
follower = models.ForeignKey('User', related_name='targets', on_delete=models.CASCADE, null=True)
def __str__(self):
return '{} is followed by {}'.format(self.target, self.follower)
Внутри моего шаблона у меня есть следующая логика:
<form method="post" action="">
{% csrf_token %}
{% if user in user_profile.followers.all %}
<input type="submit" class="item profile-nav__follow-btn" value="Following">
{% else %}
<input type="submit" class="item profile-nav__follow-btn" value="Follow">
{% endif %}
</form>
Я пытаюсь проверить, следит ли пользователь за этимконкретный пользователь.Однако, хотя это и должно быть правдой, вместо этого отображается кнопка Follow input.Что не так с моей логикой?Почему вместо этого не отображается следующая кнопка ввода?