Найти - Пользователи
Полная версия: Передача параметров между представлениями
Начало » Django » Передача параметров между представлениями
1
vaxXxa
Что-то не могу осилить даную задачу. В одной вьюшке высчитываю нужное значение, а теперь надо сделат некий редирект и передать значение туда…

пользуюсь HttpResponseRedirect(reverse('my_view')

Вопрос: как передавать значение между представлениями делая при этом редирект на него?

Спасибо.
vaxXxa
И вопрос в догонку reverse('xxxx).
xxx - Это имя вьюшки или name из url ?
В доках написано, что может быть и то и другое. А если есть вьюшка и name из url - разные по смыслу, но названия одинаковые? что приоритетнее?
Evg
vaxXxa
В одной вьюшке высчитываю нужное значение, а теперь надо сделат некий редирект и передать значение туда…
собственно а почему бы не посчитать его во 2-й вьюшке?)
ну а вообще параметром же в урле можно передать или через сессию на край.
vaxXxa
Evg
собственно а почему бы не посчитать его во 2-й вьюшке?)
Потому что считаю нужное значение на основе данных из формы в первой вьюшке.

Сделал сам. Рассказываю. Вьюшка - это всего лишь Питоновская ф-ция, которая первым параметром держит request (принимает HttpRequest и отдает HttpResponse).
Дальше я делаю так:
def view2(request, value):
print(value)
return render_to_response('template2.html')

def view1(request, value):
if request.method == 'POST':
form = YourModelForm(request.POST)
if form.is_valid():
value=calculate()
return view2(request, value=value)
else:
form = YourModelForm()
return render_to_response('template1.html')
Evg
vaxXxa
делая при этом редирект на него?
тогда это лишнее)
vaxXxa
Тут поигрался со всем этим и понял, что так плохо дело будет…
Самое четкое - это сделать редирект на новый урл с новой вьюхой и передать значение… но как? сессия, база - это чуто не то…
тут надо внутри все как-то провернуть…
vaxXxa
эм… ну, чуток не то.. короче, я хочу сделал систему оформления заказа..
Форма. Юзер заполнил… Создался экземпляр класса ЗАКАЗ. Дальше переход на страничку подтверждения: надо передать созданный экземпляр туда. Юзер просматривает - 2 кнопки: Подтвердить и Назад. Подтвердить - экземпляр идет в базу, Назад - назад на форму с введенной ранее инфой.

Идеи)))
Evg
Заказ надеюсь модель, так передайте ее ид через урл.

vaxXxa
Подтвердить - экземпляр идет в базу
Пусть сразу идет только со статусом не подтвержлен, далее ид чеерз урл, далее статус переходит в подтвержден.
vaxXxa
Evg, можно и так…)
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