Я запускаю Django 1.2 beta и пробую новую функцию: фреймворк сообщений.
http://docs.djangoproject.com/en/dev/ref/contrib/messages/
Кажется, все работает, но когда я пытаюсь вывести сообщения, я ничего не получаю. Кажется, переменная messages
пуста. Я дважды проверил все настройки, они кажутся такими же, как в руководстве. Что может быть не так?
settings.py
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware', #send messages to users
'django.middleware.locale.LocaleMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
#debug tool
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = (
'django.contrib.messages.context_processors.messages', #send messages to users
'django.core.context_processors.auth',
)
#Store messages in sessions
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage';
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
#'django.contrib.sites',
'django.contrib.admin',
'django.contrib.messages',
'debug_toolbar',
#my apps
#...
)
views.py
def myview(request):
from django.contrib import messages
messages.error(request, 'error test');
messages.success(request, 'success test');
return render_to_response('mytemplate.html', locals());
mytemplate.html
{% for message in messages %}
{{ message }}<br />
{% endfor %}
В шаблоне ничего не выводится.