簡體   English   中英

Django 模板 if else 條件問題

[英]Django template if else condition problem

我正在為我的項目構建一個好友請求系統。 為此,我已經實現了以下內容,一個用戶可以向另一個用戶發送請求。

  1. 如果用戶不是好友(好友對象中不存在關系),則添加好友選項可見。

  2. 如果用戶是朋友,則以“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM