HttpResponseRedirect в Django — как решить проблему?

В общем, столкнулся с такой проблемой. Программируя на Python с Django 1.4, не могу найти доки по функции HttpResponseRedirect. Возник вопрос есть ли возможность как в PHP при появлении ошибки делать редирект на страницу и отправлять сообщение о ней.

Например:
У меня есть база пользователей, которые подтягиваются с базы по айди. Пользователь пытается ввести не существующий айди и сразу идет редирект на его страницу с выводом ошибки, что такого пользователя нет.

Пример кода:
@login_required
def show_user_id(request, user_id):
    user = user_id
    for row in django_couch.db().view('users/list_id', key=user).rows:
        return render_to_response('show_users_id.tpl', {
            'user': row})
    else:
        return HttpResponseRedirect('/user/')

Весь Django висит на CouchDB. Так что не пугайтесь странных запросов.
  • Вопрос задан
  • 4056 просмотров
Решения вопроса 2
dizballanze
@dizballanze
Software developer at Yandex
Редирект вам никак не поможет в выводе ошибки. Используйте messages framework.
Ответ написан
Комментировать
mututunus
@mututunus
Backend developer (Python, Golang)
from django.contrib import messages

@login_required
def show_user_id(request, user_id):
    user = user_id
    for row in django_couch.db().view('users/list_id', key=user).rows:
        return render_to_response('show_users_id.tpl', {
            'user': row})
    else:
        messages.error(request, u'Пользователь не найден')
        return HttpResponseRedirect('/user/')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы