[英]Django template if else condition problem
我正在為我的項目構建一個好友請求系統。 為此,我已經實現了以下內容,一個用戶可以向另一個用戶發送請求。
如果用戶不是好友(好友對象中不存在關系),則添加好友選項可見。
如果用戶是朋友,則以“from_user”身份登錄,“to_user”個人資料頁面現在顯示 REQUEST SENT。
我的查詢是在此之后出現的,當我從“to_user”帳戶登錄並打開“from_user”配置文件時,按鈕應該是 ACCEPT ! 無法弄清楚是否還有其他原因! 在我的設置中,它顯示添加朋友。 因此需要幫助來做到這一點。
模型.py
class Friend(models.Model):
from_user = models.ForeignKey(User, on_delete=models.CASCADE )
to_user = models.ForeignKey(User, on_delete=models.CASCADE,
related_name="added" )
視圖.py
class ProfilePage(DetailView):
model = models.UserCreation
context_object_name = 'profile'
def get_context_data(self, *args, **kwargs):
context = super(ProfilePage, self).get_context_data(*args, **kwargs)
user = User.objects.get(username=UserCreation.objects.get(id=self.kwargs.get('pk')))
print(user)
print(self.request.user)
try:
context['data'] = ProfileData.objects.get( user=user)
context['userdata'] = User.objects.get( username=user)
context['creationdata'] = UserCreation.objects.get( user=user)
context['sorted'] = sorted(chain(AddStatus.objects.filter(user=user), ImageLib.objects.filter(user=user)),key=lambda instance: instance.date, reverse=True)
context['friend'] = Friend.objects.get(from_user=self.request.user , to_user = user)
except ProfileData.DoesNotExist:
context['data']= None
except Friend.DoesNotExist:
context['friend']= None
return context
模板
{% if user.get_username|stringformat:'s' != creationdata.user|stringformat:'s' and creationdata.user|stringformat:'s' != friend.to_user|stringformat:'s' %}
<a href="{% url 'usercreation:addfriend' data.user.usercreation.pk %}" class="btn btn-primary" style="float:right">Add friend</a>
{% elif user.get_username|stringformat:'s' == friend.from_user|stringformat:'s' %}
<a href="#" class="btn btn-primary disabled" style="float:right">Request sent</a>
{% endif %}
{% if friend %}
{% if friend.from_user_id == user.id %}
<a href="#" class="btn btn-primary disabled" style="float:right">Request sent</a>
{% endif %}
{% else %}
<a href="{% url 'usercreation:addfriend' data.user.usercreation.pk %}" class="btn btn-primary" style="float:right">Add friend</a>
{% endif %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.