Найти - Пользователи
Полная версия: Передача параметров через HttpResponseRedirect
Начало » Django » Передача параметров через HttpResponseRedirect
1
somaniac
Подскажите pls, такой момент: есть вид, который отображает форму и проводит ее валидацию, и в случае если все ок, делает редирект на другой вид, каким образом передать значения полей формы при редиректе? Если делаю редирект без параметров работает, а при различных вариантах обределения index, выдает приблизительно следующее:
Reverse for ‘<function index at 0x0108AF70>’ with arguments ‘(’fgsdfs','fsdfdf',)' and keyword arguments ‘{}’ not found.
Где туплю - не понимаю :(
views.py
def input(request):
if request.method == 'POST':
inpForm=cineforms.CinegenSelectForm(request.POST)
if inpForm.is_valid():
... обработка значений формы ...
return HttpResponseRedirect(reverse('cinemahit.cinegen.views.index', args=["fgsdfs","fsdfdf"]))
else:
inpForm=cineforms.CinegenSelectForm()
return render_to_response('input_form.html', {'inpForm': inpForm})

def index(request, *args):
...
return render_to_response('parsed_output.html', {'output': output})
Александр Кошелев
somaniac
Если делаю редирект без параметров работает, а при различных вариантах обределения index, выдает приблизительно следующее:
Reverse for ‘<function index at 0x0108AF70>’ with arguments ‘(’fgsdfs','fsdfdf',)' and keyword arguments ‘{}’ not found.
В urls.py как прописан index?
somaniac
просто (r'^parse/$', index), а как нужно?
И еще вопрос - доп. атрибуты передаются как GET-запрос?
Александр Кошелев
Тут налицо явное непонимание как работы reverse. Reverse строит url. Пармерты args и kwargs нужны для постройки урла, а не строки GET запроса. Соответственно, работать в вашем случае он будет, только если вы уберете параметры args. Строку GET запроса надо формировать самому.
romankrv
Это должно помочь. http://docs.djangoproject.com/en/dev/topics/http/urls/?from=olddocs#reverse
somaniac
Спасибо, теперь понял, почему не работало. А вопрос вдогонку можно: как передать эти данные через POST запрос?
somaniac
Можно ли использовать HttpResponseRedirect c POST-запросами?
romankrv
Вообще POST-запросы идут от клиента к серверу а редирект формируется от сервера. Почитайте основы HTTP
somaniac
как передать эти данные через POST запрос?
через форму c методом POST для этого есть в html тэг <form >
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB