ユーザーがアプリケーションからサインアウトしたときにメッセージを表示するために、djangoメッセージフレームワークを使用しようとしています。私はdjangoを初めて使用しますが、ドキュメントはあまり明確ではありません。メッセージが表示されないのはなぜですか?
https://docs.djangoproject.com/en/dev/ref/contrib/messages/#adding-a-message
VIEW.PY
from django.contrib import messages
def signout(request):
logout(request)
messages.add_message(request, messages.INFO, 'Signout Successful.')
return HttpResponseRedirect(reverse(index))
def index(request):
lf = LoginForm()
if request.method == "POST":
username = request.POST['username']
password = request.POST['password']
user = authenticate(username=username, password=password)
if user is not None:
if user.is_active:
auth_login(request, user)
return render_to_response('test/home.html', {'login_form': lf,}, context_instance=RequestContext(request))
テンプレート-インデックス
{% if messages %}
<ul class="messages">
{% for message in messages %}
<li{% if message.tags %} class="{{ message.tags }}"{% endif %}>{{ message }}</li>
{% endfor %}
</ul>
{% endif %}
django1.3を使用しています。そして、以下が必要です(.tzはコメントアウトされていることに注意してください)
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.core.context_processors.static",
#"django.core.context_processors.tz",
"django.contrib.messages.context_processors.messages")
TEMPLATE_CONTEXT_PROCESSORSのドキュメントから:
Django 1.3の新機能:このリリースでは、django.core.context_processors.staticコンテキストプロセッサが追加されました。
Django 1.4の新機能:このリリースでは、django.core.context_processors.tzコンテキストプロセッサが追加されました。