Urls.py

From binaryoption
Revision as of 19:31, 3 May 2025 by Admin (talk | contribs) (@pipegas_WP)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
Баннер1
    1. Urls.py: शुरुआती के लिए संपूर्ण गाइड

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

Urls.py का परिचय

जब कोई उपयोगकर्ता आपके वेब एप्लिकेशन के किसी URL पर जाता है, तो Django URLconf (Urls.py) का उपयोग यह निर्धारित करने के लिए करता है कि उस अनुरोध को संसाधित करने के लिए कौन सा कोड निष्पादित किया जाना चाहिए। URLconf अनिवार्य रूप से URL पैटर्न और उनसे जुड़े व्यू फ़ंक्शन का एक मैपिंग है।

एक सरल उदाहरण से समझते हैं:

मान लीजिए कि आपके पास एक वेब एप्लिकेशन है जिसमें एक 'home' पेज और एक 'about' पेज है। आप इन पेजों के URL को निम्नलिखित रूप से परिभाषित कर सकते हैं:

  • `/` - होम पेज
  • `/about/` - अबाउट पेज

Urls.py फ़ाइल में, आप इन URL पैटर्न को संबंधित व्यू फ़ंक्शन से मैप करेंगे।

Urls.py की संरचना

Urls.py फ़ाइल में आमतौर पर निम्नलिखित तत्व होते हैं:

1. `urlpatterns` सूची: यह सूची URL पैटर्न को परिभाषित करती है। प्रत्येक पैटर्न एक `path()` या `re_path()` फ़ंक्शन का उपयोग करके बनाया जाता है। 2. `path()` फ़ंक्शन: यह फ़ंक्शन सरल, शाब्दिक URL पैटर्न को परिभाषित करने के लिए उपयोग किया जाता है। यह तीन तर्क लेता है:

   *   `route` (स्ट्रिंग): URL पैटर्न।
   *   `view` (व्यू फ़ंक्शन): URL पैटर्न से मेल खाने पर कॉल किया जाने वाला व्यू फ़ंक्शन।
   *   `kwargs` (डिक्शनरी, वैकल्पिक): व्यू फ़ंक्शन को अतिरिक्त तर्क पारित करने के लिए उपयोग किया जाता है।

3. `re_path()` फ़ंक्शन: यह फ़ंक्शन रेगुलर एक्सप्रेशन (regular expression) का उपयोग करके अधिक जटिल URL पैटर्न को परिभाषित करने के लिए उपयोग किया जाता है। यह `path()` के समान तर्क लेता है। 4. `include()` फ़ंक्शन: यह फ़ंक्शन आपको अन्य URLconf फ़ाइलों को शामिल करने की अनुमति देता है। यह बड़े अनुप्रयोगों में URL पैटर्न को व्यवस्थित करने के लिए उपयोगी है।

एक साधारण Urls.py उदाहरण

यहां एक साधारण Urls.py फ़ाइल का उदाहरण दिया गया है:

```python from django.urls import path from . import views

urlpatterns = [

   path(, views.home, name='home'),
   path('about/', views.about, name='about'),

] ```

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

  • हम `django.urls` मॉड्यूल से `path` फ़ंक्शन आयात करते हैं।
  • हम वर्तमान निर्देशिका से `views` मॉड्यूल आयात करते हैं (`.` वर्तमान निर्देशिका को दर्शाता है)।
  • हम `urlpatterns` सूची को परिभाषित करते हैं।
  • हम दो URL पैटर्न को परिभाषित करते हैं:
   *   `/` URL को `views.home` व्यू फ़ंक्शन से मैप किया गया है। `name='home'` तर्क इस URL पैटर्न को एक नाम देता है, जिसका उपयोग टेम्पलेट और व्यू फ़ंक्शन में URL को संदर्भित करने के लिए किया जा सकता है।
   *   `/about/` URL को `views.about` व्यू फ़ंक्शन से मैप किया गया है। `name='about'` तर्क इस URL पैटर्न को एक नाम देता है।

URL पैटर्न का मिलान

Django URL पैटर्न का मिलान ऊपर से नीचे तक करता है, `urlpatterns` सूची में पहले पैटर्न से शुरू होकर। जब कोई URL पैटर्न से मेल खाता है, तो Django संबंधित व्यू फ़ंक्शन को कॉल करता है। यदि कोई URL पैटर्न मेल नहीं खाता है, तो Django एक 404 त्रुटि लौटाता है।

डायनेमिक URL पैरामीटर

कभी-कभी आप URL में डायनेमिक पैरामीटर का उपयोग करना चाहेंगे। उदाहरण के लिए, आप किसी विशिष्ट उत्पाद को प्रदर्शित करने के लिए निम्नलिखित URL पैटर्न का उपयोग कर सकते हैं:

``` /products/<product_id>/ ```

यहां, `<product_id>` एक डायनेमिक पैरामीटर है जो उत्पाद की ID का प्रतिनिधित्व करता है। आप `path()` फ़ंक्शन में कोलन (:) का उपयोग करके डायनेमिक पैरामीटर को परिभाषित कर सकते हैं।

यहां एक उदाहरण दिया गया है:

```python from django.urls import path from . import views

urlpatterns = [

   path('products/<int:product_id>/', views.product_detail, name='product_detail'),

] ```

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

  • हम `<int:product_id>` डायनेमिक पैरामीटर को परिभाषित करते हैं। `int:` भाग इंगित करता है कि `product_id` एक पूर्णांक होना चाहिए।
  • हम `views.product_detail` व्यू फ़ंक्शन को कॉल करते हैं, जो `product_id` तर्क प्राप्त करेगा।

रेगुलर एक्सप्रेशन (Regular Expression) का उपयोग

`re_path()` फ़ंक्शन का उपयोग करके, आप रेगुलर एक्सप्रेशन का उपयोग करके अधिक जटिल URL पैटर्न को परिभाषित कर सकते हैं। रेगुलर एक्सप्रेशन आपको URL पैटर्न में अधिक लचीलापन और शक्ति प्रदान करते हैं।

यहां एक उदाहरण दिया गया है:

```python from django.urls import re_path from . import views

urlpatterns = [

   re_path(r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$', views.article_detail, name='article_detail'),

] ```

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

  • हम `r'^articles/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2})/$'` रेगुलर एक्सप्रेशन का उपयोग करते हैं।
  • `(?P<year>[0-9]{4})`, `(?P<month>[0-9]{2})`, और `(?P<day>[0-9]{2})` नामित कैप्चर समूह हैं जो वर्ष, महीने और दिन को कैप्चर करते हैं।
  • हम `views.article_detail` व्यू फ़ंक्शन को कॉल करते हैं, जो `year`, `month` और `day` तर्क प्राप्त करेगा।

URL नामकरण

URL पैटर्न को नाम देना महत्वपूर्ण है। URL नाम का उपयोग टेम्पलेट और व्यू फ़ंक्शन में URL को संदर्भित करने के लिए किया जा सकता है। यह आपके कोड को अधिक पठनीय और रखरखाव योग्य बनाता है।

आप `path()` या `re_path()` फ़ंक्शन में `name` तर्क का उपयोग करके URL पैटर्न को नाम दे सकते हैं।

URL रिवर्सिंग

URL रिवर्सिंग आपको URL नाम का उपयोग करके URL उत्पन्न करने की अनुमति देता है। यह उपयोगी है जब आप अपने टेम्पलेट में URL को हार्डकोड नहीं करना चाहते हैं।

आप Django के `reverse()` फ़ंक्शन का उपयोग करके URL को रिवर्स कर सकते हैं।

```python from django.urls import reverse

url = reverse('home') # / url = reverse('product_detail', args=[123]) # /products/123/ ```

नेमस्पेस (Namespace)

नेमस्पेस URL नामों के टकराव से बचने के लिए उपयोगी होते हैं, खासकर बड़े अनुप्रयोगों में। आप URLconf में `namespace` तर्क का उपयोग करके URL पैटर्न के लिए नेमस्पेस को परिभाषित कर सकते हैं।

Urls.py के लिए सर्वोत्तम अभ्यास

  • URL पैटर्न को स्पष्ट और संक्षिप्त रखें।
  • URL पैटर्न को नाम दें।
  • URL रिवर्सिंग का उपयोग करें।
  • नेमस्पेस का उपयोग करें।
  • URL पैटर्न को व्यवस्थित करने के लिए `include()` फ़ंक्शन का उपयोग करें।
  • रेगुलर एक्सप्रेशन का उपयोग सावधानी से करें।
  • अपने URL पैटर्न का परीक्षण करें।

उन्नत विषय

  • URL पैटर्न में वाइल्डकार्ड का उपयोग: आप `*` वाइल्डकार्ड का उपयोग करके किसी भी वर्णों की किसी भी संख्या से मेल खा सकते हैं।
  • URL पैटर्न में रीडायरेक्ट: आप `redirect()` फ़ंक्शन का उपयोग करके एक URL से दूसरे URL पर रीडायरेक्ट कर सकते हैं।
  • URL पैटर्न में दृश्य Decorators: आप दृश्य Decorators का उपयोग करके दृश्य फ़ंक्शन को संशोधित कर सकते हैं।

निष्कर्ष

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

Django Documentation Django Views Django Templates Django Models Django Forms Django Admin Regular Expressions HTTP Methods RESTful APIs Web Security Database Design Caching Session Management User Authentication Deployment Testing Debugging Performance Optimization SEO URL Shortening API Versioning Microservices Content Delivery Networks (CDNs) Binary Options Trading Technical Analysis Volume Analysis Risk Management in Binary Options Binary Options Strategies

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

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

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

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

Баннер