6

2 görünümünüz varsa, ilk kullanıcıdan girdi bilgilerini alan kişi biçimini kullanır (doğum tarihi, adı, telefon numarası vb.). tablo. EğerDjango nesnenin görünümünden diğerine geçişi iletme

Yardıma sevinirim ikinci görünümün şablonda kullanabilirsiniz böylece paylaşabileceğiniz sonraki görünümüne ilk görünümünde oluşturulan nesneyi geçerdi nasıl

yaklaşım etmektir

cevap

9

Bir Nesneyi ilk görünümünüzde bir oturuma sokun, böylece ikinci görünümde request.session'dan alabilirsiniz.

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}) 
+0

Bunun ile ne kastettiğinizi açıklayabilir misiniz? İlgili bir django belgesine bağlantı olabilir mi? Bu malzemeleri hala öğreniyorum Cevabınız için teşekkürler! – JohnnyCash

+0

Cevabım için size bir örnek ekledim. – Brandon

+0

Bu benim için işe yarayabilir gibi görünüyor! Son bir soru olsa da, (benimle üzgünüm üzgünüm) .. şablondan kaydedilen formu nasıl arayabilirim? onları ilk görünüm için şablonda aradıkları şey ile mi çağırırım? Tekrar teşekkürler! – JohnnyCash

2

yeni oluşturulan nesnenin kimliği w/tablo görünümüne yönlendirmek için bir HttpResponseRedirect kullanın. Aşağıda kısaltılmış bir örnek verilmiştir:

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 
+0

Nesne üzerinde nasıl olsa çağrı yaparsınız? Kısa bir örnek verebilir misiniz? Teşekkürler! – JohnnyCash

+0

@JohnnyCash: İşte gidiyorsun. – sdolan