UpdateView Django में एक दृश्य है जिसका उपयोग फ्रंटएंड से किसी भी मॉडल डेटा को अपडेट करने के लिए किया जाता है। यह एक अंतर्निहित दृश्य है जिसे आसानी से लागू किया जा सकता है। यह व्यू को अपडेट करने में एडमिन पेज की तरह काम करता है। इस लेख में, हम एक उदाहरण लेंगे और प्रदर्शित करेंगे कि Django में UpdateView का उपयोग कैसे करें।
सबसे पहले, एक Django प्रोजेक्ट और एक ऐप बनाएं। मैंने "tutorial11" . नाम से प्रोजेक्ट बनाया है और "modelFormsDemo" . नाम वाला ऐप ।
अब, कुछ बुनियादी काम करते हैं।
ऐप को settings.py . में जोड़ें -
INSTALLED_APPS+ =['modelFormsDemo']
प्रोजेक्ट के urls.py . में , ऐप के यूआरएल शामिल करें।
django.contrib से django.urls आयात पथ से व्यवस्थापक आयात करें,includeurlpatterns =[पथ('व्यवस्थापक/', admin.site.urls), पथ('', शामिल करें('modelFormsDemo.urls'))]
ऐप के urls.py, . में निम्नलिखित जोड़ें -
django.urls आयात पथ से, शामिल करें। आयात दृश्य urlpatterns =[पथ ('', विचार। घर, नाम ="घर"), पथ ('छात्र/संपादित करें//', विचार। ', views.success, name='success')]
यहां हमने तीन यूआरएल बनाए; एक फ्रंटएंड रेंडर करने के लिए, एक अपडेट व्यू के लिए अपडेट करने के लिए, और एक सफलता अपडेट करने के बाद रीडायरेक्ट करने के लिए।
उदाहरण
models.py . में , इसे जोड़ें -
django.db आयात मॉडल से# यहां अपने मॉडल बनाएं छात्र (मॉडल। मॉडल):नाम =मॉडल। चारफिल्ड (मैक्स_लेंथ =100) मानक =मॉडल। चारफिल्ड (मैक्स_लेंथ =100) सेक्शन =मॉडल। )
यहां हमने एक साधारण मॉडल बनाया है। यह एक बहुत ही बुनियादी मॉडल है।
views.py . में , निम्नलिखित जोड़ें -
django.shortcuts से रेंडरफ्रॉम आयात करें। POST':फॉर्म =स्टूडेंटफॉर्म (अनुरोध। पोस्ट) अगर फॉर्म.is_valid ():फॉर्म.सेव () स्टूफॉर्म =स्टूडेंटफॉर्म () रिटर्न रेंडर (अनुरोध, 'होम.एचटीएमएल', {"stu_form":stuForm}) क्लास स्टूडेंटअपडेट व्यू ( UpdateView):मॉडल =छात्र क्षेत्र ="__ सभी __" template_name ='update_view.html' Success_url='/success/'def Success(request):रिटर्न रेंडर (अनुरोध,'success.html')
यहां हमने कुछ भी जटिल नहीं किया है; हमने अभी मॉडल, फ़ील्ड्स और टेम्प्लेट को एक नाम दिया है जिसे हम रेंडर करने जा रहे हैं। साथ ही, हमने एक फ़ंक्शन परिभाषित किया है जो बताएगा कि अपडेट करने के बाद क्या करना है।
forms.py Create बनाएं ऐप निर्देशिका में और निम्न पंक्तियां जोड़ें -
django से .models आयात फॉर्म से।शरीर>यहां हमने केवल एक फॉर्म बनाया है जिसे हम प्रस्तुत करेंगे।
अब एक टेम्पलेट बनाएं फ़ोल्डर और उसके अंदर तीन फाइलें जोड़ें; home.html, update_view.html , और success.html.
home.html . में और update_view.html -
TUT {% for fm in stu_form %}
success.html . में , निम्नलिखित पंक्तियाँ जोड़ें -
TUT सफलता
इसके साथ ही सब कुछ सेट हो गया है। अब आप आउटपुट की जांच के लिए आगे बढ़ सकते हैं।
आउटपुट
होम.html -
अब यदि आप https://127.0.0.1:8000/student/edit/(student object id)/ पर जाते हैं तो आपको हमारा update_view.html दिखाई देगा।
Update_view.html -