Шаблон Django, если условный сбой

98
13

Я не могу понять, почему код между условным выражением if не отображается. Без условного кода код показывает штраф.

{% if current_user_is_not_crew %}
<p>
<form action="/commit/" method="post" id="event-commit">
<input type="hidden" name="event_id" value="{{ event.id }}">
<input type="submit" value="Commit to this event">
{% csrf_token %}
</form>
</p>
{% endif %}

Я знаю, что переменная current_user_is_not_crew верна, потому что я отлаживал:

Assert False, locals()

в представлении, которое показало мне это. view.py выглядит так:

@login_required
def event(request, event_id):
event = Event.objects.get(pk=event_id)
crew = event.userprofile_set.all()
current_user = request.user.get_profile()
if current_user in crew:
current_user_is_not_crew = False
else:
current_user_is_not_crew = True
context = RequestContext(request)
context['event'] = event
context['crew'] = crew
context['current_user'] = current_user_is_not_crew
return render_to_response('event.html', context)

Вы можете помочь?

спросил(а) 2012-08-23T02:10:00+04:00 8 лет, 7 месяцев назад
1
Решение
97

Переменная, которую вы передали шаблону, - current_user, а не current_user_is_not_crew.

Ваш шаблон, если блок должен ссылаться на current_user.

ответил(а) 2012-08-23T02:12:00+04:00 8 лет, 7 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема