vaxXxa
Апрель 9, 2010 15:33:17
Что-то не могу осилить даную задачу. В одной вьюшке высчитываю нужное значение, а теперь надо сделат некий редирект и передать значение туда…
пользуюсь HttpResponseRedirect(reverse('my_view')
Вопрос: как передавать значение между представлениями делая при этом редирект на него?
Спасибо.
vaxXxa
Апрель 9, 2010 15:41:44
И вопрос в догонку reverse('xxxx).
xxx - Это имя вьюшки или name из url ?
В доках написано, что может быть и то и другое. А если есть вьюшка и name из url - разные по смыслу, но названия одинаковые? что приоритетнее?
Evg
Апрель 9, 2010 17:14:18
vaxXxa
В одной вьюшке высчитываю нужное значение, а теперь надо сделат некий редирект и передать значение туда…
собственно а почему бы не посчитать его во 2-й вьюшке?)
ну а вообще параметром же в урле можно передать или через сессию на край.
vaxXxa
Апрель 9, 2010 18:04:37
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
Апрель 9, 2010 20:56:32
vaxXxa
делая при этом редирект на него?
тогда это лишнее)
vaxXxa
Апрель 9, 2010 21:08:10
Тут поигрался со всем этим и понял, что так плохо дело будет…
Самое четкое - это сделать редирект на новый урл с новой вьюхой и передать значение… но как? сессия, база - это чуто не то…
тут надо внутри все как-то провернуть…
vaxXxa
Апрель 9, 2010 21:22:02
эм… ну, чуток не то.. короче, я хочу сделал систему оформления заказа..
Форма. Юзер заполнил… Создался экземпляр класса ЗАКАЗ. Дальше переход на страничку подтверждения: надо передать созданный экземпляр туда. Юзер просматривает - 2 кнопки: Подтвердить и Назад. Подтвердить - экземпляр идет в базу, Назад - назад на форму с введенной ранее инфой.
Идеи)))
Evg
Апрель 10, 2010 09:29:37
Заказ надеюсь модель, так передайте ее ид через урл.
vaxXxa
Подтвердить - экземпляр идет в базу
Пусть сразу идет только со статусом не подтвержлен, далее ид чеерз урл, далее статус переходит в подтвержден.
vaxXxa
Апрель 10, 2010 10:19:16
Evg, можно и так…)