Сообщения Джанго не отображаются

Я пытаюсь использовать структуру сообщений django для отображения сообщения, когда пользователь выходит из моего приложения. Я новичок в django, и документация мне не очень понятна. Почему мое сообщение не отображается?

https://docs.djangoproject.com/en/dev/ref/contrib/messages/#adding-a-message

ПРОСМОТР.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 %}

Я использую джанго1.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.


person thedeepfield    schedule 06.08.2012    source источник
comment
Какой код отображает эту индексную страницу?   -  person Daniel Roseman    schedule 06.08.2012
comment
Какую версию Джанго вы используете?   -  person zifot    schedule 07.08.2012


Ответы (1)


Вы добавили контекстный процессор и промежуточное ПО?

person Skylar Saveland    schedule 06.08.2012
comment
Я добавил его в template_context_processors, но когда я это делаю, он говорит, что мне также нужно добавить «django.contrib.auth.context_processors.auth», что я и делаю, а затем форматирование css моей страницы исчезает ... после добавления этих двух, это все еще не работай.. - person thedeepfield; 06.08.2012
comment
В документах говорится, что файл settings.py по умолчанию, созданный стартовым проектом django-admin.py, уже содержит все настройки, необходимые для включения функций сообщений, но по какой-то причине мой не включал TEMPLATE_CONTEXT_PROCESSORS. Так что берегитесь! - person Alveoli; 08.08.2014
comment
@Alveoli, какую версию вы используете? Это может быть ошибка, с которой вы столкнулись. - person Skylar Saveland; 08.08.2014
comment
У меня возникла аналогичная проблема: мой TEMPLATE_CONTEXT_PROCESSORS не включал django.contrib.messages.context_processors.messages. добавление его устранило проблему. Спасибо! - person fang_dejavu; 22.12.2015