Шаблон Django, если проблема еще - PullRequest
0 голосов
/ 27 апреля 2019

Я создаю систему запросов на добавление в друзья для своего проекта. Для этого я реализовал ниже, где один пользователь может отправить запрос другому.

  1. Если пользователи не являются друзьями (отношения не существуют в объекте друзей), то отображается опция ДОБАВИТЬ ДРУГА.

  2. Если пользователи являются друзьями, то, войдя в систему как «from_user», на странице профиля «to_user» теперь отображается REQUEST SENT.

Мой запрос приходит после этого, когда я вхожу в аккаунт "to_user" и открываю профиль "from_user", кнопка должна быть ПРИНЯТА! Не могу понять, если еще для этого! В моей настройке он показывает ДОБАВИТЬ ДРУГА. Следовательно, нужна помощь, чтобы сделать это.

Models.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" )

Views.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

Template

{% 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 %}

1 Ответ

0 голосов
/ 27 апреля 2019
{% 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 %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...