перенаправление django не работает должным образом - PullRequest
1 голос
/ 01 июля 2010

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

Мой код:

def vote_answer_down(request,id):
   answer = Answer.objects.get(pk = id)
   VoteDownAnswer.objects.create(answer = answer, voted_down_by = request.user) 

   return HttpResponseRedirect('.') #or return (without httpresponse),gives the same

где я не прав? Спасибо!

1 Ответ

1 голос
/ 01 июля 2010

http://docs.djangoproject.com/en/1.2/ref/request-response/#django.http.HttpResponseRedirect

Конструктор принимает один аргумент - путь для перенаправления. Это может быть полный URL-адрес (например, «http://www.yahoo.com/search/')» или абсолютный URL-адрес без домена (например, «/ search /»). Обратите внимание, что возвращается код состояния HTTP 302.

Что заставляет вас думать '.' будет работать?

Обычно используется функция reverse для предоставления необходимого абсолютного URL.

http://docs.djangoproject.com/en/dev/topics/http/urls/#reverse

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...