Django वेब विकास के लिए MTV (मॉडल-टेम्पलेट-व्यू) पैटर्न का अनुसरण करता है। यहां प्रत्येक घटक का विवरण दिया गया है:
मॉडल: आपकी डेटा संरचना को परिभाषित करता है और डेटाबेस के साथ इंटरेक्शन को संभालता है, जिससे आप मैन्युअल रूप से SQL क्वेरी लिखे बिना डेटा को संग्रहीत और पुनर्प्राप्त कर सकते हैं।
टेम्पलेट: HTML प्रस्तुत करने और उपयोगकर्ता को डेटा प्रस्तुत करने के लिए जिम्मेदार। आप गतिशील सामग्री प्रदर्शित करने के लिए HTML को Django टेम्पलेट लैंग्वेज (DTL) के साथ मिश्रित करके लिखते हैं।
देखें: व्यावसायिक तर्क परत के रूप में कार्य करता है। यह मॉडल और टेम्पलेट को जोड़ता है, उपयोगकर्ता के अनुरोधों को संभालता है, मॉडल के साथ इंटरैक्ट करता है, और एक प्रतिक्रिया देता है (अक्सर टेम्पलेट से HTML प्रस्तुत किया जाता है)।
Django का अनुरोध-प्रतिक्रिया चक्र कैसे काम करता है:
चरण 1: Django में एक नया ऐप बनाएं।
एक बार जब आप Django सेट कर लें (जैसा कि पिछले लेख में बताया गया है), तो आइए अपने प्रोजेक्ट में एक नया ऐप बनाएं।
ये आदेश चलाएँ:
cd mysite python3 manage.py startapp core
यह आपके माईसाइट प्रोजेक्ट के अंदर कोर नामक एक ऐप बनाता है। आपकी फ़ाइल संरचना अब इस तरह दिखनी चाहिए:
. ├── core │ ├── admin.py │ ├── apps.py │ ├── __init__.py │ ├── migrations │ │ └── __init__.py │ ├── models.py │ ├── tests.py │ └── views.py ├── db.sqlite3 ├── manage.py └── mysite ├── asgi.py ├── __init__.py ├── settings.py ├── urls.py └── wsgi.py
चरण 2: सेटिंग्स फ़ाइल में अपना ऐप पंजीकृत करें।
Django को नए ऐप से अवगत कराने के लिए, आपको इसे mysite/settings.py में INSTALLED_APPS में जोड़ना होगा:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'core', # add this line ]
चरण 3: एक मूल दृश्य बनाएं।
आइए एक सरल दृश्य बनाएं जो "हैलो, वर्ल्ड!" लौटाता है। संदेश।
कोर ऐप के अंदर view.py खोलें और निम्नलिखित कोड जोड़ें:
from django.http import HttpResponse def learn(request): return HttpResponse("Hello, World!")
चरण 4: दृश्य में URL मैप करें।
इस दृश्य को URL के माध्यम से एक्सेस करने के लिए, आपको इसे core/urls.py फ़ाइल में मैप करना होगा। यदि यह मौजूद नहीं है तो यह फ़ाइल बनाएं और निम्नलिखित जोड़ें:
from django.urls import path from . import views urlpatterns = [ path('learn/', views.learn, name='learn'), ]
इसके बाद, मुख्य mysite/urls.py फ़ाइल में मुख्य ऐप के URL शामिल करें:
from django.contrib import admin from django.urls import include, path urlpatterns = [ path('admin/', admin.site.urls), path('core/', include('core.urls')), # include the core app URLs ]
अब, यदि आप सर्वर चलाते हैं और http://127.0.0.1:8000/कोर/लर्न/ पर जाते हैं, तो आपको "हैलो, वर्ल्ड!" देखना चाहिए। प्रदर्शित.
चरण 5: एक टेम्पलेट बनाएं और प्रस्तुत करें
from django.shortcuts import render def learn(request): context = {'name': 'Django'} return render(request, 'hello.html', context)
यह दृश्य अब एक वेरिएबल (नाम) को hello.html नामक टेम्पलेट में भेजता है।
चरण 6: एक टेम्पलेट निर्देशिका और HTML फ़ाइल बनाएं।
अपने मुख्य ऐप में, एक टेम्प्लेट फ़ोल्डर और एक hello.html फ़ाइल बनाएं:
mkdir core/templates touch core/templates/hello.html
hello.html के अंदर, निम्नलिखित HTML कोड जोड़ें
Hello Template Hello, {{ name }}!
जब आप दोबारा लर्न यूआरएल पर जाएंगे, तो अब आपको "हैलो, डीजेंगो!" दिखना चाहिए। ब्राउज़र में.
चरण 7: एक बुनियादी मॉडल बनाएं।
आइए ब्लॉग पोस्ट संग्रहीत करने के लिए एक सरल पोस्ट मॉडल बनाएं।
core/models.py में, निम्नलिखित कोड जोड़ें:
from django.db import models class Post(models.Model): title = models.CharField(max_length=100) content = models.TextField() def __str__(self): return self.title
इस पोस्टमॉडल में दो फ़ील्ड हैं: शीर्षक और सामग्री। The__str__ विधि यह सुनिश्चित करती है कि पोस्ट ऑब्जेक्ट Django एडमिन या शेल में उनके शीर्षक के साथ प्रदर्शित हों
चरण 8: मॉडल को डेटाबेस पर लागू करें।
डेटाबेस में संबंधित तालिका बनाने के लिए, ये आदेश चलाएँ:
python3 manage.py makemigrations python3 manage.py migrate
Django अब पोस्ट मॉडल के लिए एक डेटाबेस तालिका बनाएगा।
इन चरणों का पालन करके, आपने मॉडल, दृश्य और टेम्पलेट के साथ सफलतापूर्वक एक बुनियादी Django ऐप बना लिया है। अब आप इस आधार पर और अधिक सुविधाएँ जोड़कर विस्तार कर सकते हैं, जैसे उपयोगकर्ता इनपुट को संभालना, डिज़ाइन में सुधार करना और ऐप को अधिक इंटरैक्टिव बनाना।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3