Django Generic Views

From binaryoption
Jump to navigation Jump to search
Баннер1
    1. Django जेनेरिक व्यूज: शुरुआती के लिए विस्तृत गाइड

Django, पाइथन पर आधारित एक शक्तिशाली वेब फ्रेमवर्क, वेब डेवलपमेंट को सरल और तेज़ बनाता है। Django वेब एप्लिकेशन बनाने के लिए कई उपकरण और सुविधाएँ प्रदान करता है, जिनमें से "जेनेरिक व्यूज" एक महत्वपूर्ण हिस्सा हैं। जेनेरिक व्यूज आपको सामान्य कार्यों को आसानी से करने में मदद करते हैं, जैसे कि लिस्टिंग, विवरण दिखाना, निर्माण करना, अपडेट करना और हटाना। इस लेख में, हम Django जेनेरिक व्यूज को शुरुआती स्तर पर समझने के लिए विस्तार से जानेंगे।

जेनेरिक व्यूज क्या हैं?

जेनेरिक व्यूज, Django में पहले से बने हुए व्यूज हैं जो सामान्य वेब डेवलपमेंट पैटर्न को लागू करते हैं। ये व्यूज आपको कोड की मात्रा को कम करने और विकास की गति को बढ़ाने में मदद करते हैं। सीधे शब्दों में कहें तो, जेनेरिक व्यूज सामान्य कार्यों के लिए टेम्पलेट प्रदान करते हैं जिन्हें आप अपनी विशिष्ट आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं।

जेनेरिक व्यूज का उपयोग क्यों करें?

जेनेरिक व्यूज का उपयोग करने के कई फायदे हैं:

  • **कोड की मात्रा में कमी:** जेनेरिक व्यूज आपको दोहराव वाले कोड को लिखने से बचाते हैं।
  • **विकास की गति में वृद्धि:** आप कम समय में अधिक कार्य कर सकते हैं क्योंकि आपको स्क्रैच से व्यूज बनाने की आवश्यकता नहीं होती है।
  • **रखरखाव में आसानी:** जेनेरिक व्यूज को अपडेट और बनाए रखना आसान होता है।
  • **बेहतर सुरक्षा:** Django के जेनेरिक व्यूज सुरक्षा के सर्वोत्तम तरीकों को ध्यान में रखकर बनाए गए हैं।
  • **पुन: प्रयोज्यता:** आप एक जेनेरिक व्यू को कई अलग-अलग मॉडल्स के साथ उपयोग कर सकते हैं।

जेनेरिक व्यूज के प्रकार

Django कई प्रकार के जेनेरिक व्यूज प्रदान करता है, जिनमें से कुछ प्रमुख निम्नलिखित हैं:

  • **ListView:** किसी मॉडल के ऑब्जेक्ट्स की सूची प्रदर्शित करता है। ListView
  • **DetailView:** किसी मॉडल के एकल ऑब्जेक्ट के बारे में विस्तृत जानकारी प्रदर्शित करता है। DetailView
  • **CreateView:** किसी मॉडल का नया ऑब्जेक्ट बनाने के लिए एक फॉर्म प्रदर्शित करता है। CreateView
  • **UpdateView:** किसी मॉडल के मौजूदा ऑब्जेक्ट को अपडेट करने के लिए एक फॉर्म प्रदर्शित करता है। UpdateView
  • **DeleteView:** किसी मॉडल के मौजूदा ऑब्जेक्ट को हटाने के लिए एक फॉर्म प्रदर्शित करता है। DeleteView

ListView का उपयोग

ListView का उपयोग किसी मॉडल के ऑब्जेक्ट्स की सूची प्रदर्शित करने के लिए किया जाता है। उदाहरण के लिए, यदि आपके पास `Blog` मॉडल है, तो आप ListView का उपयोग करके सभी ब्लॉग पोस्ट की सूची प्रदर्शित कर सकते हैं।

```python from django.views.generic import ListView from .models import Blog

class BlogListView(ListView):

   model = Blog
   template_name = 'blog_list.html'
   context_object_name = 'blogs'

```

इस उदाहरण में:

  • `model = Blog` मॉडल को निर्दिष्ट करता है जिससे डेटा प्राप्त करना है।
  • `template_name = 'blog_list.html'` टेम्पलेट को निर्दिष्ट करता है जिसका उपयोग सूची को प्रदर्शित करने के लिए किया जाएगा।
  • `context_object_name = 'blogs'` टेम्पलेट में सूची को संदर्भित करने के लिए उपयोग किए जाने वाले वेरिएबल का नाम निर्दिष्ट करता है।

टेम्पलेट `blog_list.html` में आप सूची को प्रदर्शित करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

```html

```

DetailView का उपयोग

DetailView का उपयोग किसी मॉडल के एकल ऑब्जेक्ट के बारे में विस्तृत जानकारी प्रदर्शित करने के लिए किया जाता है। उदाहरण के लिए, यदि आपके पास `Blog` मॉडल है, तो आप DetailView का उपयोग करके किसी विशिष्ट ब्लॉग पोस्ट के बारे में विवरण प्रदर्शित कर सकते हैं।

```python from django.views.generic import DetailView from .models import Blog

class BlogDetailView(DetailView):

   model = Blog
   template_name = 'blog_detail.html'
   context_object_name = 'blog'

```

इस उदाहरण में:

  • `model = Blog` मॉडल को निर्दिष्ट करता है जिससे डेटा प्राप्त करना है।
  • `template_name = 'blog_detail.html'` टेम्पलेट को निर्दिष्ट करता है जिसका उपयोग विवरण प्रदर्शित करने के लिए किया जाएगा।
  • `context_object_name = 'blog'` टेम्पलेट में ऑब्जेक्ट को संदर्भित करने के लिए उपयोग किए जाने वाले वेरिएबल का नाम निर्दिष्ट करता है।

टेम्पलेट `blog_detail.html` में आप विवरण प्रदर्शित करने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

```html

Template:Blog.title

Template:Blog.content

```

CreateView का उपयोग

CreateView का उपयोग किसी मॉडल का नया ऑब्जेक्ट बनाने के लिए एक फॉर्म प्रदर्शित करने के लिए किया जाता है। उदाहरण के लिए, यदि आपके पास `Blog` मॉडल है, तो आप CreateView का उपयोग करके एक नया ब्लॉग पोस्ट बनाने के लिए एक फॉर्म प्रदर्शित कर सकते हैं।

```python from django.views.generic import CreateView from .models import Blog from .forms import BlogForm

class BlogCreateView(CreateView):

   model = Blog
   form_class = BlogForm
   template_name = 'blog_create.html'
   success_url = '/blogs/'

```

इस उदाहरण में:

  • `model = Blog` मॉडल को निर्दिष्ट करता है जिसके लिए फॉर्म बनाया जाएगा।
  • `form_class = BlogForm` फॉर्म क्लास को निर्दिष्ट करता है जिसका उपयोग फॉर्म बनाने के लिए किया जाएगा। Django Forms
  • `template_name = 'blog_create.html'` टेम्पलेट को निर्दिष्ट करता है जिसका उपयोग फॉर्म प्रदर्शित करने के लिए किया जाएगा।
  • `success_url = '/blogs/'` सफलतापूर्वक फॉर्म सबमिट करने के बाद रीडायरेक्ट करने के लिए URL को निर्दिष्ट करता है।

UpdateView का उपयोग

UpdateView का उपयोग किसी मॉडल के मौजूदा ऑब्जेक्ट को अपडेट करने के लिए एक फॉर्म प्रदर्शित करने के लिए किया जाता है। उदाहरण के लिए, यदि आपके पास `Blog` मॉडल है, तो आप UpdateView का उपयोग करके किसी विशिष्ट ब्लॉग पोस्ट को अपडेट करने के लिए एक फॉर्म प्रदर्शित कर सकते हैं।

```python from django.views.generic import UpdateView from .models import Blog from .forms import BlogForm

class BlogUpdateView(UpdateView):

   model = Blog
   form_class = BlogForm
   template_name = 'blog_update.html'
   success_url = '/blogs/'

```

इस उदाहरण में:

  • `model = Blog` मॉडल को निर्दिष्ट करता है जिसके लिए फॉर्म बनाया जाएगा।
  • `form_class = BlogForm` फॉर्म क्लास को निर्दिष्ट करता है जिसका उपयोग फॉर्म बनाने के लिए किया जाएगा।
  • `template_name = 'blog_update.html'` टेम्पलेट को निर्दिष्ट करता है जिसका उपयोग फॉर्म प्रदर्शित करने के लिए किया जाएगा।
  • `success_url = '/blogs/'` सफलतापूर्वक फॉर्म सबमिट करने के बाद रीडायरेक्ट करने के लिए URL को निर्दिष्ट करता है।

DeleteView का उपयोग

DeleteView का उपयोग किसी मॉडल के मौजूदा ऑब्जेक्ट को हटाने के लिए एक फॉर्म प्रदर्शित करने के लिए किया जाता है। उदाहरण के लिए, यदि आपके पास `Blog` मॉडल है, तो आप DeleteView का उपयोग करके किसी विशिष्ट ब्लॉग पोस्ट को हटाने के लिए एक फॉर्म प्रदर्शित कर सकते हैं।

```python from django.views.generic import DeleteView from .models import Blog

class BlogDeleteView(DeleteView):

   model = Blog
   template_name = 'blog_delete.html'
   success_url = '/blogs/'

```

इस उदाहरण में:

  • `model = Blog` मॉडल को निर्दिष्ट करता है जिससे ऑब्जेक्ट हटाया जाएगा।
  • `template_name = 'blog_delete.html'` टेम्पलेट को निर्दिष्ट करता है जिसका उपयोग फॉर्म प्रदर्शित करने के लिए किया जाएगा।
  • `success_url = '/blogs/'` सफलतापूर्वक फॉर्म सबमिट करने के बाद रीडायरेक्ट करने के लिए URL को निर्दिष्ट करता है।

जेनेरिक व्यूज को अनुकूलित करना

आप जेनेरिक व्यूज को अपनी आवश्यकताओं के अनुसार अनुकूलित कर सकते हैं। उदाहरण के लिए, आप `get_queryset()` विधि को ओवरराइड करके क्वेरीसेट को अनुकूलित कर सकते हैं। आप `get_context_data()` विधि को ओवरराइड करके टेम्पलेट में अतिरिक्त डेटा जोड़ सकते हैं। Django Template Context

URL कॉन्फ़िगरेशन

जेनेरिक व्यूज का उपयोग करने के लिए, आपको अपने `urls.py` फ़ाइल में URL कॉन्फ़िगरेशन जोड़ना होगा। उदाहरण के लिए:

```python from django.urls import path from .views import BlogListView, BlogDetailView, BlogCreateView, BlogUpdateView, BlogDeleteView

urlpatterns = [

   path('blogs/', BlogListView.as_view(), name='blog_list'),
   path('blogs/<int:pk>/', BlogDetailView.as_view(), name='blog_detail'),
   path('blogs/create/', BlogCreateView.as_view(), name='blog_create'),
   path('blogs/<int:pk>/update/', BlogUpdateView.as_view(), name='blog_update'),
   path('blogs/<int:pk>/delete/', BlogDeleteView.as_view(), name='blog_delete'),

] ```

निष्कर्ष

Django जेनेरिक व्यूज वेब डेवलपमेंट को सरल और तेज़ बनाने के लिए एक शक्तिशाली उपकरण हैं। इन व्यूज का उपयोग करके, आप कम समय में अधिक कार्य कर सकते हैं और अपने वेब एप्लिकेशन को अधिक सुरक्षित और बनाए रखने में आसान बना सकते हैं। यह लेख आपको Django जेनेरिक व्यूज की मूल बातें समझने में मदद करेगा और आपको अपने अगले वेब डेवलपमेंट प्रोजेक्ट में इनका उपयोग करने के लिए तैयार करेगा।

अतिरिक्त संसाधन

बाइनरी ऑप्शन से संबंधित लिंक्स (उदाहरण के तौर पर, विषय से अलग, लेकिन आवश्यकतानुसार जोड़े गए):

अभी ट्रेडिंग शुरू करें

IQ Option पर रजिस्टर करें (न्यूनतम जमा $10) Pocket Option में खाता खोलें (न्यूनतम जमा $5)

हमारे समुदाय में शामिल हों

हमारे Telegram चैनल @strategybin से जुड़ें और प्राप्त करें: ✓ दैनिक ट्रेडिंग सिग्नल ✓ विशेष रणनीति विश्लेषण ✓ बाजार की प्रवृत्ति पर अलर्ट ✓ शुरुआती के लिए शिक्षण सामग्री

Баннер