如果您有2個視圖,第一個視圖使用從用戶輸入的信息(出生日期,姓名,電話號碼等)的模型,第二個視圖使用此信息創建表。Django將對象從視圖傳遞到下一個處理
你將如何通過創建的對象在第一個視圖到下一個視圖,以便您可以使用它在第二視圖的模板
我會很感激任何幫助,您可以共享
如果您有2個視圖,第一個視圖使用從用戶輸入的信息(出生日期,姓名,電話號碼等)的模型,第二個視圖使用此信息創建表。Django將對象從視圖傳遞到下一個處理
你將如何通過創建的對象在第一個視圖到下一個視圖,以便您可以使用它在第二視圖的模板
我會很感激任何幫助,您可以共享
一種方法是將對象放入第一個視圖中的會話中,然後您可以從第二個視圖中的request.session中檢索該對象。
def first_view(request):
my_thing = {'foo' : 'bar'}
request.session['my_thing'] = my_thing
return render(request, 'some_template.html')
def second_view(request):
my_thing = request.session.get('my_thing', None)
return render(request, 'some_other_template.html', {'my_thing' : my_thing})
使用HttpResponseRedirect
指向w /新創建的對象的id的表視圖。這是一個簡短的例子:
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
然後你會怎麼調用這個對象?你介意提供一個簡單的例子嗎?謝謝! – JohnnyCash
@JohnnyCash:你走了。 – sdolan
你能澄清你的意思嗎?也許鏈接到相關的Django文檔?我仍然在學習這東西 感謝您的回覆! – JohnnyCash
我爲你的答案增加了一個例子。 – Brandon
這看起來可能適合我! 雖然最後一個問題,(與我裸露我很抱歉)..我如何調用從模板保存的表單?我是通過在第一個視圖的模板中調用它們來呼叫它們的嗎? 再次感謝! – JohnnyCash