0

我无法弄清楚为什么 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)

你能帮我吗?

4

1 回答 1

4

您传递给模板的变量是current_user,而不是current_user_is_not_crew

您的模板 if 块应该引用current_user.

于 2012-08-22T23:12:38.307 回答