Django

6

प्रसंस्करण के लिए अगली से ऑब्जेक्ट को पास करने के लिए ऑब्जेक्ट पास करता है यदि आपके पास 2 विचार हैं, तो पहले मॉडल का उपयोग करता है जो उपयोगकर्ता (जन्म तिथि, नाम, फोनेनंबर इत्यादि) से इनपुट जानकारी लेता है, और दूसरा इस जानकारी का उपयोग करने के लिए इस जानकारी का उपयोग करता है तालिका।Django

आप अगले दृश्य के लिए सबसे पहले ध्यान में रखते हुए बनाई गई वस्तु पारित ताकि आप दूसरे दृश्य के टेम्पलेट में उपयोग कर सकते हैं

मैं किसी भी मदद की सराहना करेंगे, तो आप साझा कर सकते हैं

उत्तर

9

एक दृष्टिकोण है ऑब्जेक्ट को अपने पहले दृश्य में एक सत्र में रखें, जिसे आप दूसरे दृश्य में 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}) 
+0

क्या आप इसका अर्थ स्पष्ट कर सकते हैं? शायद एक प्रासंगिक django दस्तावेज़ के लिए एक लिंक? मैं अभी भी इस सामान को सीख रहा हूं हालांकि आपके उत्तर के लिए धन्यवाद! – JohnnyCash

+0

मैंने आपके लिए आपके उत्तर में एक उदाहरण जोड़ा। – Brandon

+0

ऐसा लगता है कि यह मेरे लिए काम कर सकता है! हालांकि एक आखिरी सवाल, (मेरे साथ बेकार मुझे खेद है) .. मैं टेम्पलेट से सहेजे गए फॉर्म को कैसे कॉल करूं? क्या मैं उन्हें पहले दृश्य के लिए टेम्पलेट में बुलाए जाने के द्वारा बुलाता हूं? फिर से धन्यवाद! – JohnnyCash

2

तालिका दृश्य w/नव निर्मित वस्तु की आईडी पर निर्देशित करने के लिए एक 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 
+0

फिर आप ऑब्जेक्ट पर कॉल कैसे करेंगे? क्या आप एक संक्षिप्त उदाहरण प्रदान करना चाहते हैं? धन्यवाद! – JohnnyCash

+0

@ जॉनी कैश: वहां आप जाते हैं। – sdolan