ユーザーがプロジェクトをフォローしていないときに「フォロー」ボタンを表示し、ユーザーがフォローした後にボタンを更新したい。Django else ifテンプレートタグクエリーセットが正しくない
次のテンプレートタグを使用しようとしましたが、常にtrueを返していました。
以下は、このプロジェクトに現在従っているフォロワーのリストを含む、従業員がフォローできるプロジェクトのモデルです。
class Team(models.Model):
following = models.ManyToManyField(
settings.AUTH_USER_MODEL,
related_name='followers',
blank=True,
)
これらは私が試したテンプレートタグですが、常に「フォロー」を返します。
<div class="progress-stats">
{% if request.user in team.following.all %}
<a href="{% url 'teams:unfollow' team.id %}">Unfollow</a>
{% else %}
<a href="{% url 'teams:follow' team.id %}">Follow</a>
{% endif %}
</div>
限り、フィールドの命名が行くように、これはより理にかなって:あなたは、ユーザーがチームのfollowing
であるかどうかを確認したい
{% if not request.user in user.followers.all %}
<div class="progress-stats">
<a href="{% url 'teams:follow' team.id %}">Follow</a>
</div>
{% endif %}
{% if request.user in user.followers.all %}
<div class="progress-stats">
<a href="{% url 'teams:unfollow' team.id %}">Unfollow</a>
</div>
{% endif %}
ここでは「ユーザー」とは何ですか? 'request.user'と同じではないと確信していますか? –