मुख्य सामग्री पर जाएं
Python

Python में Django वेब डेवलपमेंट

Django का उपयोग करके वेब डेवलपमेंट की बुनियादी बातें सीखें और ऐसा ब्लॉग एप्लिकेशन बनाएँ जिसमें (CRUD) Create, Read, Update, Delete फंक्शनैलिटी हो।
Olivia Smith
अपडेट किया गया · 12 मि॰ पढ़ें

AI के साथ खोजें

ChatGPTClaudePerplexity

अपना निःशुल्क खाता बनाएँ

अभ्यास और ट्रैक अपनी प्रगति को।

Google के साथ जारी रखें
जारी रखने पर, आप हमारी उपयोग की शर्तें, हमारी गोपनीयता नीति को स्वीकार करते हैं और यह भी कि आपका डेटा संयुक्त राज्य अमेरिका में संग्रहीत किया जाता है।

Django एक व्यापक रूप से उपयोग किया जाने वाला नि:शुल्क, ओपन-सोर्स, और उच्च-स्तरीय वेब डेवलपमेंट फ्रेमवर्क है। यह डेवलपर्स को कई सुविधाएँ "आउट ऑफ द बॉक्स" देता है, जिससे डेवलपमेंट तेज़ हो सकता है। साथ ही, इससे बनाए गए वेबसाइटें सुरक्षित, स्केलेबल और मेंटेन योग्य रहती हैं।

लक्ष्य

इस ट्यूटोरियल का लक्ष्य एक ब्लॉग एप्लिकेशन बनाना है, जहाँ ब्लॉग कंटेंट को प्रशासन पैनल के माध्यम से बनाया और अपडेट किया जा सके। ब्लॉग की सामग्री पेज पर दिखाई जाएगी और आवश्यकता होने पर हटाई भी जा सकेगी। संपूर्ण एप्लिकेशन CRUD (Create, Read, Update, Delete) फंक्शनैलिटी प्रदान करता है।

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

आवश्यक सेटअप

  1. Git Bash: सभी ऑपरेटिंग सिस्टम के उपयोगकर्ता इसे इस्तेमाल कर सकते हैं। सभी Django संबंधित कमांड और Unix कमांड इसके माध्यम से चलाए जाते हैं। Git Bash डाउनलोड करने के लिए: Click Me।
  2. टेक्स्ट-एडिटर: कोई भी टेक्स्ट-एडिटर जैसे Sublime Text या Visual Studio Code उपयोग किया जा सकता है। निम्नलिखित प्रोजेक्ट के लिए Sublime Text का उपयोग किया गया है।
  3. Python 3: Python का नवीनतम संस्करण यहाँ से डाउनलोड करें: Download Python।

नोट: यदि आप Python की बुनियादी समझ रखते हैं और लूप, फंक्शन, क्लासेज आदि के बारे में जानते हैं, और bash या कमांड लाइन का कुछ ज्ञान रखते हैं, तो आप इस ट्यूटोरियल को आसानी से फॉलो कर पाएँगे।

वर्चुअल एन्वायरनमेंट

वर्चुअल एन्वायरनमेंट Python संबंधित प्रोजेक्ट्स के लिए निर्भरताओं के रूप में कार्य करता है। यह एक स्व-निहित कंटेनर या आइसोलेटेड एन्वायरनमेंट की तरह काम करता है जहाँ किसी विशेष प्रोजेक्ट से संबंधित सभी Python पैकेज और उनके आवश्यक संस्करण इंस्टॉल किए जाते हैं। क्योंकि Python, Django, या पैकेजों के नए संस्करण आते रहते हैं, वर्चुअल एन्वायरनमेंट की मदद से आप अपने प्रोजेक्ट-विशिष्ट पुराने संस्करणों के साथ काम कर सकते हैं। संक्षेप में, आप एक ही कंप्यूटर पर Django 2.0 से संबंधित एक स्वतंत्र प्रोजेक्ट और Django 3.0 से संबंधित दूसरा स्वतंत्र प्रोजेक्ट शुरू कर सकते हैं।

नोट: वर्चुअल एन्वायरनमेंट बनाने के कई तरीके हैं, लेकिन नीचे केवल एक तरीका दिखाया गया है।

वर्चुअल एन्वायरनमेंट बनाने के चरण

  1. आप अपने Desktop पर 'mkdir' कमांड का उपयोग करके 'project-blog' नामक नया डायरेक्टरी बना सकते हैं।
  2. 'cd' कमांड का उपयोग करके डायरेक्टरी बदलकर 'project-blog' में जाएँ।
    Steps to Create a Virtual Environment

  3. 'python -m venv env' का उपयोग करके वर्चुअल एन्वायरनमेंट बनाया जाता है, जहाँ env हमारा वर्चुअल एन्वायरनमेंट है जिसे 'ls' कमांड से देखा जा सकता है।
    Steps to Create a Virtual Environment

  4. अपने वर्चुअल एन्वायरनमेंट को सक्रिय करना: वर्चुअल एन्वायरनमेंट को 'source' कमांड का उपयोग करके सक्रिय किया जा सकता है, जहाँ 'Scripts' फ़ोल्डर को सक्षम/सक्रिय करना होता है।
    Steps to Create a Virtual Environment
    यदि आपने वर्चुअल एन्वायरनमेंट को सफलतापूर्वक सक्रिय कर लिया है, तो ब्रैकेट में 'env' दिखाई देगा।

  5. Django इंस्टॉल करना: आप अपने विशेष वर्चुअल एन्वायरनमेंट में Django इंस्टॉल करने के लिए 'pip install django' का उपयोग कर सकते हैं।
    Steps to Create a Virtual Environment

नोट: Linux और Mac उपयोगकर्ताओं को कमांड में विशेष रूप से 'python3' का उपयोग करना होगा क्योंकि उनके कंप्यूटर में Python 2 पहले से इंस्टॉल रहता है। साथ ही, अभी के लिए संस्करण 3 का उपयोग करना बेहतर है, क्योंकि 2020 के बाद Python ने संस्करण 2 का समर्थन बंद कर दिया है।

Django प्रोजेक्ट बनाना

  1. पहला चरण अपना प्रोजेक्ट 'django-admin startproject project_name' कमांड का उपयोग करके बनाना है, जहाँ आपके मामले में 'project_name' 'django_blog' है। साथ ही, यह हमारे नए बनाए गए प्रोजेक्ट के अंदर कई फाइलें बनाएगा, जिनके बारे में आप आवश्यकता होने पर Django दस्तावेज़ में और पढ़ सकते हैं।
    Creating a Django Project
  2. 'cd' कमांड का उपयोग करके नई बनाई गई प्रोजेक्ट डायरेक्टरी में जाएँ और 'ls' कमांड का उपयोग करके बनी हुई फाइलें देखें।
    Creating a Django Project
  3. आप 'python manage.py runserver' का उपयोग करके अपना प्रोजेक्ट चला सकते हैं।
    Creating a Django Project
  4. प्रोजेक्ट को अपने पसंदीदा ब्राउज़र (Google Chrome, Mozilla Firefox, आदि) में देखा जा सकता है। अपने ब्राउज़र में जाएँ और URL में 'localhost:8000' या '127.0.0.1:8000' टाइप करें, जैसा नीचे दिखाया गया है।
    Creating a Django Project
    नोट: ऊपर जैसा पेज पाने के लिए, बैश में सर्वर बैकग्राउंड में चलना चाहिए। साथ ही, आवश्यकता होने पर आप Windows/Linux में 'Ctr+C' और Mac में 'Cmd+C' दबाकर सर्वर को मैन्युअली बंद कर सकते हैं।

नया Django प्रोजेक्ट शुरू करना

Django में नया प्रोजेक्ट बनाने के लिए हमेशा दो-चरणीय प्रक्रिया होती है, जो नीचे दिखाई गई है।

  1. पहला चरण 'python manage.py startapp app_name' कमांड का उपयोग करके एक ऐप बनाना है, जहाँ आपके मामले में app_name 'blog' है। Django में एक ही प्रोजेक्ट में कई ऐप्स हो सकते हैं, जहाँ प्रत्येक ऐप किसी विशिष्ट फंक्शनैलिटी की सेवा देता है।
    Starting the New Project
  2. दूसरा चरण हमारे प्रोजेक्ट को नए बनाए गए ऐप के बारे में बताना है, जिसके लिए 'django_blog/settings.py' की INSTALLED_APP सेक्शन में बदलाव करना होगा।
    Starting the New Project

हमारे मॉडलों में बदलाव

Django डिफॉल्ट डेटाबेस के रूप में 'SQLite' का उपयोग करता है, जो हल्का है और छोटे प्रोजेक्ट्स के लिए प्रयुक्त होता है, जो इस प्रोजेक्ट के लिए उपयुक्त है। यह 'Object Relational Mapper (ORM)' का उपयोग करता है, जो डेटाबेस के साथ काम करना बहुत आसान बनाता है। वास्तविक डेटाबेस कोड नहीं लिखा जाता, बल्कि 'models.py' में 'class' कीवर्ड की मदद से डेटाबेस टेबल्स बनाई जाती हैं।

'blog/models.py' के अंदर, आपको 'Post' नाम का नया मॉडल बनाना होगा। यह एक क्लास है जो बाद में डेटाबेस टेबल बन जाएगी और फिलहाल 'models.Model' से इनहेरिट करती है। एक सामान्य ब्लॉग में, किसी 'Post' में एक शीर्षक होता है, जो CharField नाम का फील्ड होगा। यह टेक्स्ट-आधारित कॉलम है और इसमें अनिवार्य आर्ग्युमेंट 'max_length' देना होता है, जो आपके मामले में 50 है। साथ ही, एक और फील्ड 'content' है, जो TextField है, जिसमें 'Post' का विस्तृत टेक्स्ट होता है, जैसा कि एक मानक ब्लॉग में होता है। डबल अंडरस्कोर ('str') मेथड परिभाषित है, जो 'title' फील्ड को ओवरराइड करता है और किसी ऑब्जेक्ट के बजाय वास्तविक 'title' का नाम लौटाता है।
Changing in our Models

माइग्रेशन बनाना

'python manage.py makemigrations' पहला चरण है जो निर्माण के बाद 'models.py' को पढ़ता है। यह 'migrations' नाम का नया फ़ोल्डर बनाता है, जहाँ '0001_initial.py' नाम की फाइल होती है, जो डेटाबेस के बीच पोर्टेबल होती है।
Changing in our Models

डेटाबेस में माइग्रेट करना

यह दूसरा चरण है जहाँ 'python manage.py migrate' नए बनाए गए 'migrations' फ़ोल्डर को पढ़ता है और डेटाबेस बनाता है, तथा मॉडल में परिवर्तन होने पर डेटाबेस को विकसित करता है।
Changing in our Models

एडमिन में पंजीकरण

आइए 'blog/admin.py' पर जाएँ और 'from .models import Post' का उपयोग करके 'Post' नामक मॉडल को इम्पोर्ट करें। मॉडलों को एडमिन में पंजीकृत करने के लिए कमांड है 'admin.site.register(Post)'।


Changing in our Models

सुपरयूज़र बनाना और प्रशासन पैनल में देखना

'admin' पैनल तक पहुँचने से पहले आपको एक सुपरयूज़र बनाना होगा। ऐसा करने के लिए 'winpty python manage.py createsuperuser' का उपयोग करें।
Changing in our Models
नोट: winpty Windows कंसोल प्रोग्राम्स से संचार के लिए उपयोग किया जाने वाला bash-विशिष्ट कमांड है।

bash में python manage.py runserver कमांड से अपना सर्वर बैकग्राउंड में चलाएँ। ब्राउज़र पर जाएँ और URL में निम्नलिखित टाइप करें।

इसके बाद अपनी विवरण भरें, यानी वह उपयोगकर्ता नाम और पासवर्ड जो आपने पहले बनाया था:
Changing in our Models
इसके बाद अपने एडमिन पैनल में हमारे नए बनाए गए मॉडल 'Post' को देखें।
Changing in our Models
'Add' बटन पर क्लिक करके 'Post' की सामग्री बदलें। जानकारी भरें और 'Save' करके विवरण सहेजें।
Changing in our Models

व्यूज़ और URLs में बदलाव

'blog/views.py' पर जाएँ और नीचे दिखाए अनुसार बदलाव करें। 'blog_list' नामक फंक्शन जोड़ें, जो request लेता है। एक क्वेरी की जाती है जो 'Post.objects.all()' के माध्यम से बनाए गए सभी ऑब्जेक्ट्स को प्राप्त करती है और उसे post में सहेजती है। 'context' नाम का नया डिक्शनरी बनाया गया है जहाँ ऑब्जेक्ट को की के रूप में पास किया जा सकता है और टेम्पलेट 'blog-list.html' के माध्यम से प्राप्त किया जा सकता है, जो render की मदद से रिस्पॉन्स लौटाकर किया जाता है।
Changing in views and urls
'django_blog/blog' में 'urls.py' नाम की नई फाइल बनाएँ और निम्नलिखित बदलाव जोड़ें। व्यू 'blog_list' के लिए रिलेटिव इम्पोर्ट है और साथ ही 'urlpatterns' है, जो वेबसाइट पर किसी विशेष पेज के पथों की सूची है। फिलहाल, <b'path' में खाली स्ट्रिंग और व्यू का नाम है।
Changing in views and urls
आइए 'django_blog/urls.py' पर जाएँ और include को इम्पोर्ट करें तथा 'urlpatterns' में बदलाव करें। फिर include के माध्यम से अपने ऐप URLs का path जोड़ें। साथ ही, जब उपयोगकर्ता 'posts/' से रूट करेगा, तो उसे हमारे 'blog.urls' पर निर्देशित किया जाएगा।

टेम्पलेट बनाना और बदलना

आइए एक templates फ़ोल्डर बनाते हैं जो सामान्यतः 'HTML' रखता है और अपनी टेम्पलेटिंग भाषा 'Jinja2' का उपयोग करता है। फ़ोल्डर का नामकरण 'templates/blog/blog_list.html' के रूप में होना चाहिए, जो परंपरा है।
Making and Changing the Templates
आप नीचे देख सकते हैं कि 'HyperTextMarkup Language(HTML) से संबंधित सिंटैक्स है जहाँ बड़े शीर्षक के लिए 'h1' और अनऑर्डर्ड लिस्ट (ul) के साथ सूची तत्व li है। साथ ही, 'Jinja 2' से संबंधित 'for' लूप सिंटैक्स का उपयोग किया गया है, जहाँ 'blog_list' नामक ऑब्जेक्ट को की के रूप में 'blog/views.py' से पास किया गया है और 'list' नामक प्रत्येक तत्व पर इटरेट किया गया है।
Making and Changing the Templates
वेबपेज पर 'First Post' नामक 'title' देखें।
Making and Changing the Templates
आइए एडमिन पैनल से ऊपर की तरह एक और जानकारी जोड़ें और अपनी दूसरी पोस्ट का title 'Second Post' रखें।
Making and Changing the Templates
जानकारी जोड़ने और होमपेज को रीलोड करने के बाद, जानकारी अपडेट हो जाएगी।
Making and Changing the Templates

प्रत्येक पोस्ट का विवरण

आप प्रत्येक व्यक्तिगत पेज बनाएँगे जिसमें पोस्ट के शीर्षक और उसकी सामग्री से संबंधित जानकारी होगी। 'url' होगा "localhost:8000/posts/'id'" जहाँ id प्रत्येक 'Post' से जुड़ी यूनिक संख्या या प्राथमिक कुंजी को दर्शाता है, जिसे Django स्वयं देता है।
आइए 'blog/view.py' में 'blog_detail' नाम का एक फंक्शन बनाएँ, जो पैरामीटर के रूप में id स्वीकार करता है। साथ ही, एक क्वेरी की जाती है जो केवल विशिष्ट id को प्राप्त करती है और 'each_post' में सहेजती है। ऊपर की तरह ही, आवश्यक जानकारी को 'blog_detail.html' में context के रूप में पास किया जाता है।
Details for Each Individual post
'blog/urls.py' में url बदला गया है जहाँ path में '<id>' है, जो पूर्णांक रूप में यूनिक id स्वीकार करता है। मान लें कि उपयोगकर्ता 'posts/' पर आता है तो उसे सभी पोस्ट दिखती हैं, लेकिन जब वह 'posts/1' पर जाता है, तो केवल पहली बनाई गई पोस्ट की जानकारी दिखती है।
Details for Each Individual post
आइए एक नई फाइल 'blog/blog_detail.html' बनाएँ, और निम्नलिखित बदलाव करें। क्योंकि blog_detail context के रूप में पास किया गया है, इसलिए 'title' और 'content' को डॉट नोटेशन का उपयोग करके एक्सेस किया जा सकता है।
Details for Each Individual post
अपने ब्राउज़र के URL पर जाएँ और वैसा ही टाइप करें ताकि व्यक्तिगत पोस्ट मिलें। क्योंकि पहली बनाई गई जानकारी के लिए 'id' '1' है, दूसरी जानकारी के लिए '2' होगी और इसी प्रकार नई जानकारी के लिए आगे बढ़ेगी।
Details for Each Individual post

पोस्ट हटाना

आइए blog_delete परिभाषित करें, जो request और id लेता है। साथ ही, एक क्वेरी की जाती है जहाँ 'Post.objects.get(id=id)' यूनिक id वाले ऑब्जेक्ट को प्राप्त करता है और उसे each_post में सहेजता है। उसके बाद 'each_post.delete()' कॉल किया जाता है ताकि 'Post' हट जाए। अंत में 'django.http' मॉड्यूल से HttpResponseRedirect इम्पोर्ट किया जाता है, जिसका उपयोग पेज को '/posts/' पर रीडायरेक्ट करने के लिए किया जाता है।
Deleting the Post
. 'urls.py' में 'blog_delete' को इम्पोर्ट करें और path को '<id>/delete' पर सेट करें, जहाँ अंत में delete के साथ id उस विशेष ऑब्जेक्ट या जानकारी को हटा देगी।
Deleting the Post
आइए 'urls.py' में निम्नलिखित टाइप करके अपनी पोस्ट हटाएँ।
Deleting the Post
अंत में, जब 'posts/1/delete/' कॉल किया जाता है, जहाँ होमपेज पर केवल एक पोस्ट मौजूद है, तो पेज '/posts' पर रीडायरेक्ट हो जाता है।
Deleting the Post

निष्कर्ष

ट्यूटोरियल पूरा करने पर बधाई! आपने Django वेब डेवलपमेंट की बुनियादी बातें और CRUD फंक्शनैलिटी के बारे में सीखा। किसी विशेष विषय में अधिक विवरण के लिए Django Documentation देखें।

संदर्भ:

Python में Django वेब डेवलपमेंट FAQs

Django क्या है?

Django Python में लिखा हुआ एक नि:शुल्क और ओपन-सोर्स वेब फ्रेमवर्क है, जो model-template-view आर्किटेक्चरल पैटर्न का अनुसरण करता है। यह डेवलपर्स को एप्लिकेशन को अवधारणा से पूर्णता तक यथासंभव जल्दी ले जाने में मदद करने के लिए डिज़ाइन किया गया है।

Django की कुछ विशेषताएँ क्या हैं?

Django की कुछ विशेषताओं में हल्का और मॉड्यूलर डिज़ाइन, एक शक्तिशाली ORM (Object-Relational Mapper) जो डेटाबेस इंटरेक्शन को सरल बनाता है, और उपयोगकर्ता प्रमाणीकरण व प्रबंधन, फॉर्म हैंडलिंग, और कंटेंट एडमिनिस्ट्रेशन जैसे सामान्य वेब डेवलपमेंट कार्यों के लिए बिल्ट-इन सपोर्ट शामिल है।

मैं Django के साथ कैसे शुरू करूँ?

Django शुरू करने के लिए, आपको अपने मशीन पर Python और Django लाइब्रेरी इंस्टॉल करनी होगी। इसके बाद आप django-admin startproject कमांड का उपयोग करके नया Django प्रोजेक्ट बना सकते हैं और Django की बिल्ट-इन सुविधाओं और टूल्स का उपयोग करके अपना एप्लिकेशन बनाना शुरू कर सकते हैं।

मैं Django में डेटाबेस कैसे बनाऊँ?

Django डिफॉल्ट रूप से SQLite डेटाबेस इंजन का उपयोग करता है, जो Python के साथ शामिल होता है। आप अपने Django ऐप में मॉडल्स परिभाषित करके और migrate कमांड चलाकर नया डेटाबेस बना सकते हैं। यह आपके मॉडलों के डेटा को स्टोर करने के लिए आवश्यक टेबल्स डेटाबेस में बना देगा।

मैं Django में views और templates कैसे बनाऊँ?

Django में views वे फंक्शन होते हैं जो HTTP रिक्वेस्ट को हैंडल करते हैं और HTTP रिस्पॉन्स लौटाते हैं। आप अपने Django ऐप में ऐसे फंक्शन परिभाषित करके views बना सकते हैं जो एक request लेते हैं और एक response लौटाते हैं। टेम्पलेट्स HTML फाइलें होती हैं जिनमें डायनामिक कंटेंट के लिए placeholders होते हैं। आप Django की टेम्पलेट भाषा का उपयोग करके डायनामिक कंटेंट टेम्पलेट्स में डाल सकते हैं और उन्हें अपने views में रेंडर कर सकते हैं।

मैं Django एप्लिकेशन को कैसे डिप्लॉय करूँ?

होस्टिंग जरूरतों और प्राथमिकताओं के आधार पर Django एप्लिकेशन को डिप्लॉय करने के कई तरीके हैं। कुछ सामान्य विकल्पों में Heroku या AWS जैसे क्लाउड प्लेटफ़ॉर्म पर डिप्लॉय करना, Apache या Nginx जैसे वेब सर्वर का उपयोग करना, या PythonAnywhere या DigitalOcean जैसी होस्टिंग सेवाओं का उपयोग करना शामिल है।

विषय
Python

Python कोर्स

कोर्स

Python परिचय

4 घंटा
7.1M
Python के साथ डेटा विश्लेषण की बुनियादी बातें सिर्फ चार घंटे में सीखें। यह ऑनलाइन पाठ्यक्रम Python इंटरफ़ेस का परिचय देगा और लोकप्रिय पैकेजों का अन्वेषण करेगा।
विवरण देखेंपाठ्यक्रम शुरू करें

कोर्स

Python में Data Science परिचय

4 घंटा
504K
Python से डेटा विज्ञान में उतरें और अपने डेटा का प्रभावी विश्लेषण व विज़ुअलाइज़ेशन करना सीखें। कोई कोडिंग अनुभव या कौशल की आवश्यकता नहीं।

अपना निःशुल्क खाता बनाएँ

अभ्यास और ट्रैक अपनी प्रगति को।

Google के साथ जारी रखें
जारी रखने पर, आप हमारी उपयोग की शर्तें, हमारी गोपनीयता नीति को स्वीकार करते हैं और यह भी कि आपका डेटा संयुक्त राज्य अमेरिका में संग्रहीत किया जाता है।
और देखें