Обратите внимание, что предложенный ответ применим только к Django <1.2: </strong>
Есть ли у вас контроль над видом, на который вы перенаправляете? В этом случае вы можете сохранить контекст в сеансе перед перенаправлением. Целевое представление может выбрать контекст (и удалить его) из сеанса и использовать его для визуализации шаблона.
Если ваше требование only заключается в отображении сообщения, то есть лучший способ сделать это. Ваш первый просмотр может создать сообщение для текущего, используя auth
, а второй просмотр прочитает и удалит его. Примерно так:
def save_form(request, *args, **kwargs):
# all goes well
message = _("form for customer xyz was successfully updated...")
request.user.message_set.create(message = message)
return redirect('list_view')
def list_view(request, *args, **kwargs):
# Render page
# Template for list_view:
{% for message in messages %}
...
{% endfor %}
Сообщения сохраняются в базе данных. Это означает, что вы можете получить к ним доступ даже после перенаправления. Они автоматически читаются и удаляются при рендеринге шаблона. Вам нужно будет использовать RequestContext
, чтобы это работало.
Для Django => 1.2 читать ответ с сообщениями