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 が true であることはわかっています。

Assert False, locals()

私にそれを示したビューで。views.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 に答える