Сообщения Django не отображаются после HttpResponseRedirect

Пробовал тонны вещей там, но никто из них не помог.

у меня естьURL например:

HTTP: // локальный: 8000 / пользователь / редактирование-транзакция / object_id = 23a959d0561711e59e36acd1b8679265 & типа = grossary

который вызывает нижеview:

def edit_transaction(request):

    if request.method == "POST":
        if something is True:
            messages.error(request, 'Error message here')

            # this don't work
            return HttpResponseRedirect(request.META.get('HTTP_REFERER'))

            # but this work
            template = "user/xyz/abc.html"
            render(request, template)
        else:
            return HttpResponseNotFound()
    else:
        context = {
             'key1': 'value1', 
             'key2': 'value2',
        }
        template = "user/xyz/abc.html"
        render(request, template, context)

И внутри шаблона:

{% if messages %}

<h1>I am inside MESSAGES</h1>

    {% for message in messages %}
        {% if message.tags == 'success' %}
            <div class="alert alert-success" role="alert">{{ message|escape|safe }}</div>
        {% elif message.tags == 'error' %}
            <div class="alert alert-danger" role="alert">{{ message|escape|safe }}</div>
        {% endif %}
    {% endfor %}
{% endif %}

Это попадает внутрьif Вотif something is True: и перенаправления на ту же страницу со строкой запроса. Но не отображается сообщение об ошибке.

Я хочу перенаправить на ту же страницу, сохранив строку запроса, и отобразить сообщение об ошибке. Что я тут не так делаю и какие изменения рекомендую (если есть).

Также сомнение, что сообщения Django действительно работают после перенаправления как сообщения Flash?

Редактировать:

1) Это не работает:

if something is True:
    messages.error(request, 'Error message here')
    return HttpResponseRedirect(request.META.get('HTTP_REFERER'))

Из консоли:

[16 / Sep / 2015 10:57:08] "POST / user / edit-транзакция /? Object_id = 23a959d0561711e59e36acd1b8679265 & type = брутто HTTP / 1.1" 302 0 [16 / Sep / 2015 10:57:08] "GET / user / edit-транзакция /? object_id = 23a959d0561711e59e36acd1b8679265 & type = брутто HTTP / 1.1 "200 8832

2) Это работает:

if something is True:
    messages.error(request, 'Error message here')
    template = "user/xyz/abc.html"
    render(request, template)

Из консоли:

[16 / Sep / 2015 10:57:08] "POST / пользователь / edit-транзакция /? Object_id = 23a959d0561711e59e36acd1b8679265 & type = брутто-HTTP / 1.1" 302 0

Итак, в основном то, что я понял сверху, это то, чтоmessages истекает с дополнительным запросом (перенаправление, 200).

И в шаблонах он не попадает внутрь{% if messages %} а также печатать<h1>I am inside MESSAGES</h1>

Ответы на вопрос(2)

Ваш ответ на вопрос