आप जैसे पाठक MUO का समर्थन करने में मदद करते हैं। जब आप हमारी साइट पर लिंक का उपयोग करके खरीदारी करते हैं, तो हम संबद्ध कमीशन अर्जित कर सकते हैं।
डायनेमिक रूटिंग के बिना, वेब पेजों को नेविगेट करना मुश्किल होगा। आपको ब्राउजर पर जाने वाले हर पेज का पूरा पाथ टाइप करना होगा। कितना भयानक उपयोगकर्ता अनुभव है।
डायनामिक यूनिफ़ॉर्म रिसोर्स लोकेटर (URL), आपको एक बटन के क्लिक के साथ ऐप पर विभिन्न पेजों पर नेविगेट करने की अनुमति देता है। Django डायनेमिक URL डिज़ाइन करना आसान बनाता है। इसमें एक URL कॉन्फ़िगरेशन मॉड्यूल (URLconf) है जो URL के भावों को दृश्यों से जोड़ता है।
URLconf में सभी कोड Python सिंटैक्स में हैं, जिससे डायनेमिक URL बनाना आसान हो जाता है। आइए एक Django प्रोजेक्ट बनाकर डायनामिक URL के बारे में अधिक जानें।
1. एक Django परियोजना बनाएँ
पहला, एक Django परियोजना बनाएँ और एप्लिकेशन (ऐप)।
अपने ऐप को नाम दें बोमा-घड़ी. ऐप विभिन्न मोहल्लों से स्थान, विवरण और निवासी संख्या एकत्र करेगा। नाम का एक मॉडल बनाएं अड़ोस-पड़ोस. डेटाबेस में आस-पड़ोस के बारे में जानकारी जोड़ने के लिए मॉडल का उपयोग करें। करना सीखें Django में मॉडल बनाएं और डेटाबेस यदि आप अपरिचित हैं।
अगला, आस-पड़ोस के लिए एक व्यू फंक्शन बनाएं।
2. व्यू फंक्शन बनाएं
Django में, विचार पायथन फ़ंक्शन हैं जो HTTP अनुरोध लेते हैं और प्रतिक्रियाएँ लौटाते हैं। Django द्वारा संचालित एक वेब पेज पर, विचार विविध कार्य और मिशन करते हैं।
किसी दृश्य को निष्पादित करने के लिए, आपको इसे URL के माध्यम से कॉल करना होगा। URL वेब पर संसाधन के लिए एक अद्वितीय पथ है। संसाधन एक HTML पृष्ठ, छवि या एक API समापन बिंदु हो सकता है।
पास किए गए पैरामीटर के आधार पर आस-पड़ोस का डेटा पुनर्प्राप्त करने वाला URL बनाएं. ऐसा करने के लिए, आप का उपयोग कर सकते हैं प्राथमिक कुंजी (पीके) या पहचान (आईडी) जानकारी प्राप्त करने के लिए। ऐसा करने के लिए आप एक टेम्पलेट का उपयोग करेंगे।
आप उन्हें नामक फ़ाइल में परिभाषित करके विचार बना सकते हैं view.py ऐप के फ़ोल्डर में। आयात करके प्रारंभ करें प्रदान करना URL पर डेटा प्रदर्शित करने के लिए Django से कार्य करें। भी आयात करें अड़ोस-पड़ोस से मॉडल model.py.
से django.शॉर्टकट आयात प्रदान करना
से ।मॉडल आयात अड़ोस-पड़ोस
इसके बाद, नाम का एक व्यू फंक्शन बनाएं घर जो होम टेंपलेट पर सभी मोहल्लों को प्रदर्शित करता है। नेबरहुड.ऑब्जेक्ट्स.ऑल () समारोह डेटाबेस से सभी पड़ोस के लिए डेटा प्राप्त करता है।
डीईएफ़घर(अनुरोध):
आस-पड़ोस = NeighbourHood.objects.all ()
रिटर्न रेंडर (अनुरोध, "home.html", {'पड़ोस': पड़ोस})
इसके अलावा, के लिए एक व्यू फंक्शन बनाएं शामिल हों जो आस-पड़ोस की जानकारी प्रदर्शित करेगा। NeighbourHood.objects.get (आईडी = आईडी) फ़ंक्शन आईडी के अनुसार डेटा का अनुरोध करता है। फिर जानकारी को एक टेम्पलेट पर प्रस्तुत किया जाता है।
डीईएफ़शामिल हों(अनुरोध आईडी):
पड़ोस = NeighbourHood.objects.get (आईडी = आईडी)
रिटर्न रेंडर (अनुरोध, 'join_hood.html', {'अड़ोस-पड़ोस':अड़ोस-पड़ोस})
बाद में, जब आप किसी आस-पड़ोस में नेविगेट करते हैं, तो आप उसकी प्रोफ़ाइल जानकारी देख पाएंगे।
3. एक गतिशील URL बनाएँ
अब आप अपने द्वारा बनाए गए दृश्य प्रकार्य के लिए एक गतिशील URL बना सकते हैं।
से django.urls आयात पथ
से. आयात दृश्य
से django.conf आयात समायोजन
से django.conf.urls.static आयातस्थिर
सेdjangoयोगदान.staticfiles.urlsआयातstaticfiles_urlpatternsurlपैटर्न = [
पथ ('घर', विचार घर, नाम ='घर'),
पथ ('शामिल हों/<स्ट्र: आईडी>/', विचार.जॉइन_हुड, नाम ='शामिल हों'),
]
अगरसमायोजनडिबग:
यूआरएल पैटर्न + = स्थिर(समायोजन। MEDIA_URL, document_root = सेटिंग. मीडिया_रूट)
आयात पथ दृश्य के लिए पथ बनाने के लिए Django URL से। फिर से दृश्य कार्यों को आयात करें view.py.
शामिल हों URL में कोण कोष्ठक में प्लेसहोल्डर है:. यह URL के उस भाग को कैप्चर करता है और इसे दृश्य में भेजता है।
कोण कोष्ठक में आमतौर पर एक कनवर्टर विनिर्देश शामिल होता है। विनिर्देश या तो एक स्ट्रिंग (str) या पूर्णांक (int) हो सकता है। Django भी प्रदान करता है स्लग, पथ, या सार्वभौमिक अद्वितीय पहचानकर्ता (यूयूआईडी)। विनिर्देश चर के प्रकार या URL में पास किए गए वर्णों की संख्या को देखने के लिए सीमित करता है।
URLs को एक नाम देने से उन्हें टेम्प्लेट्स पर पहचानने में मदद मिलेगी।
स्थिर और stats आयात URL पथों पर स्थिर फ़ाइलें प्रदर्शित करता है। आधिकारिक में URL पैरामीटर की संरचना करने के तरीके के बारे में और जानें Django प्रलेखन।
4. टेम्पलेट में यूआरएल जोड़ें
एक बार जब आप URL में व्यू फंक्शन जोड़ लेते हैं, तो डेटा प्रदर्शित करने के लिए एक HTML टेम्प्लेट बनाएं। आप टेम्पलेट का नाम दें join_hood.html.
{% विस्तार करता है "आधार.html" %}
{% भार स्थिर %}
{% ब्लॉक सामग्री%}
<डिव क्लास ="कार्ड एमबी -3" शैली ="अधिकतम-चौड़ाई: फ़िट सामग्री;">
<डिव क्लास ="पंक्ति जी-0">
<डिव क्लास ="कोल-एमडी-4">
<डिव क्लास ="कोल-एमडी-8">
<डिव क्लास ="कार्ड शरीर">
<h5 वर्ग ="कार्ड शीर्षक"> स्वागत!</h5>
<पी वर्ग ="कार्ड-पाठ पीटी-4"> नाम: {{पड़ोस.नाम}}</पी>
<पी वर्ग ="कार्ड-पाठ पीटी-4"> स्थान: {{पड़ोस.स्थान}}</पी>
<पी वर्ग ="कार्ड-पाठ पीटी-4"> विवरण: {{पड़ोस.विवरण}}</पी>
<पी वर्ग ="कार्ड-पाठ पीटी-4"> हेल्थ दूरभाष: {{पड़ोस.स्वास्थ्य_टेल}}</पी>
<पी वर्ग ="कार्ड-पाठ पीटी-4"> पुलिस नंबर: {{पड़ोस.पुलिस_नंबर}}</पी>
<पी वर्ग ="कार्ड-पाठ पीटी-4"> निवासी: {{पड़ोस। गिनती करना}}</पी>
</div>
</div>
</div>
</div>
</div>
{% एंडब्लॉक%}
बनाएँ शामिल हों पड़ोस डेटा प्रदर्शित करने के लिए ऐप फ़ोल्डर में टेम्पलेट। सबसे पहले, विस्तार करें आधार.html स्टाइल शीट (बूटस्ट्रैप) के साथ टेम्प्लेट जिसे आप टेम्प्लेट को स्टाइल करने के लिए उपयोग करेंगे। फिर, उन वेरिएबल्स को रेंडर करें जो पेज पर जानकारी प्रदर्शित करेंगे।
अगला, एक बनाएँ home.html टेम्प्लेट जहां आप सभी आस-पड़ोस प्रदर्शित करेंगे।
{% विस्तार करता है 'आधार.html' %}
{% भार स्थिर %}
{% ब्लॉक सामग्री%}
<डिव क्लास ="CONTAINER" शैली ="रंग काला;">
<आईएमजी एसआरसी ="{{पड़ोस.हुड_लोगो.यूआरएल}}" वर्ग ="कार्ड-आईएमजी-टॉप" ऑल्ट ="{{उपयोगकर्ता.पड़ोस.नाम}}"><डिव क्लास ="पंक्ति">
{पड़ोस में पड़ोस के लिए% %}
<डिव क्लास ="कोल-एमडी-4">
<डिव क्लास ="कार्ड एमबी-4" शैली ="न्यूनतम-ऊंचाई: 340 पीएक्स">
<आईएमजी एसआरसी ="{{पड़ोस.हुड_लोगो.यूआरएल}}" वर्ग ="कार्ड-आईएमजी-टॉप" ऑल्ट ="{{उपयोगकर्ता.हुड.नाम}}"><डिव क्लास ="कार्ड शरीर">
<h5 वर्ग ="कार्ड शीर्षक">
{{पड़ोस.नाम}}
({{पड़ोस.स्थान}})
<स्पैन क्लास ="मिली-4">{{अड़ोस-पड़ोस। गणना}} सदस्य {{पड़ोस.सदस्य.गिनती|बहुवचन}}</span>
</h5><पी वर्ग ="कार्ड-पाठ">{{पड़ोस.विवरण}}</पी>
<पी वर्ग ="कार्ड-पाठ">{{पड़ोस.सदस्य। गिनती करना}}</पी>
<एक href="{% यूआरएल 'शामिल हों' पड़ोस.आईडी %}" वर्ग ="बीटीएन बीटीएन-प्राथमिक बीटीएन-एसएम">हुड में शामिल हों</ए>
</div>
</div>
</div>
</div>
</div>
{% एंडब्लॉक%}
होम पेज पर, आस-पड़ोस के बारे में वह सारी जानकारी प्रदर्शित करें जिसे आप प्रदर्शित करना चाहते हैं। आप होम पेज पर एक बटन और एक एंकर टैग जोड़ेंगे। एंकर टैग में यूआरएल है नाम और पड़ोस की आईडी.
जब क्लिक किया जाता है, तो बटन उस आईडी के आस-पास नेविगेट करता है। होम टेम्प्लेट URL पर दिखाई देता है http://127.0.0.1:8000/home/. नीचे दी गई तस्वीर इस पृष्ठ को प्रदर्शित करती है:
5. डायनेमिक रूटिंग का परीक्षण करें
अब, आप परीक्षण कर सकते हैं कि डायनेमिक रूटिंग टेम्प्लेट पर काम करती है या नहीं। जब आप क्लिक करते हैं हुड में शामिल हों बटन, यह नेविगेट करता है शामिल हों टेम्पलेट। शामिल हों टेम्प्लेट आपके द्वारा चुने गए आस-पड़ोस के बारे में प्रोफ़ाइल जानकारी प्रदर्शित करता है।
आपको ब्राउजर यूआरएल पर प्रदर्शित पड़ोस की आईडी भी दिखाई देगी http://127.0.0.1:8000/join_hood/2/
यह नीचे दिखाए अनुसार दिखाई देगा:
बधाई हो! आपने एक गतिशील URL बनाया है।
Django URL का उपयोग क्यों करें?
वेब एप्लिकेशन में डायनेमिक URL एक महत्वपूर्ण विशेषता है। Django आपकी आवश्यकताओं के अनुसार URL डिज़ाइन करना आसान बनाता है। यह उन सीमाओं को हटा देता है जिन्हें आप अन्य रूपरेखाओं से जोड़ सकते हैं।
URLconf मॉड्यूल संसाधनों से भरा है जो Django URL निर्माण का समर्थन करता है। यह टेम्प्लेट पर स्थिर फ़ाइलों की सेवा करना भी आसान बनाता है और त्रुटि प्रबंधन में सुधार करता है।
Django में बैकएंड एप्लिकेशन को अनुकूलित करने के लिए डिज़ाइन की गई अन्य सुविधाएँ हैं। यह अन्य विशेषताओं के साथ उपयोगकर्ता प्रमाणीकरण, सामग्री प्रशासन और साइट मानचित्र को स्वचालित करता है।