Django: изменение кнопки HTML, когда пользователь присоединяется к событию с полем ManyToMany. - PullRequest
0 голосов
/ 25 апреля 2020

Я проектирую систему управления событиями, используя django. У меня проблема с изменением кнопки на странице html. Проблема:

1. Если пользователь не аутентифицирован, то кнопка должна иметь значение «Войти, чтобы присоединиться». 2. После входа в систему, если пользователь нажимает кнопку «присоединиться» (что раньше), войдите в присоединиться "), тогда эта же кнопка изменится на" Присоединен ". 3. Если количество присоединений превышает заданный лимит, эту же кнопку следует заменить на «Полный» или «Недоступен».

{% if user.is_authenticated  %}
 <a href="{{ event.increase_join }}"><button>Join Now</button></a>
 {% else %}
<a href="{% url 'login' %}">Login to Join match</a>
{% endif %}

Я попробовал описанный выше вариант, но он не способен справиться с моей проблемой

views.py приведен ниже:

@login_required
def event_joined(request,id):
    event = get_object_or_404(Event,id=id,available=True)
    current_joiner = User.objects.get(username=request.user)
    event.joiners.add(current_joiner)
    event.joined+=1
    event.available_slot-=1
    event.save()
    return render(request,'events/event/detail.html',{'event': event})

1 Ответ

0 голосов
/ 25 апреля 2020

Вы можете добавить оператор elif , например:

{% elif event.available_slot is None  %}
<button>Full</button>
...