Django передает объект от просмотра к следующему для обработки - PullRequest
7 голосов
/ 26 января 2012

Если у вас есть 2 представления, первое использует модель, которая получает введенную информацию от пользователя (дата рождения, имя, номер телефона и т. Д.), А второе использует эту информацию для создания таблицы.

Как бы вы передали созданный объект в первом представлении следующему представлению, чтобы вы могли использовать его в шаблоне второго представления

Буду признателен за любую помощь, которой вы сможете поделиться

Ответы [ 2 ]

10 голосов
/ 26 января 2012

Один из подходов состоит в том, чтобы поместить объект в сеанс в первом представлении, которое затем можно получить из request.session во втором представлении.

2 голосов
/ 26 января 2012

Используйте HttpResponseRedirect, чтобы перейти к табличному представлению с идентификатором вновь созданного объекта. Вот сокращенный пример:

def first(request):
    if request.method == 'POST':
          form = MyModelForm(request.POST, request.FILES)
          if form.is_valid():
               my_model = form.save()

               return HttpResponseRedirect('/second/%s/' % (my_model.pk)) # should actually use reverse here.
      # normal get stuff here

def second(request, my_model_pk):
     my_model = MyModel.objects.get(pk=my_model_pk)

     # return your template w/my model in the context and render
...