Django 2.1 - django.urls functions for use in URLconfs

django.urls URLconfs में उपयोग के लिए कार्य करता है




django

django.urls URLconfs में उपयोग के लिए कार्य करता है

path()

path(route, view, kwargs=None, name=None)
Django 2.0 में नया:

urlpatterns में शामिल करने के लिए एक तत्व देता है। उदाहरण के लिए:

from django.urls import include, path

urlpatterns = [
    path('index/', views.index, name='main-view'),
    path('bio/<username>/', views.bio, name='bio'),
    path('articles/<slug:title>/', views.article, name='article-detail'),
    path('articles/<slug:title>/<int:section>/', views.section, name='article-section'),
    path('weblog/', include('blog.urls')),
    ...
]

route तर्क एक स्ट्रिंग या gettext_lazy() होना चाहिए ( URL प्रतिमानों का अनुवाद देखें) जिसमें URL प्रतिमान हो। URL के भाग को कैप्चर करने और इसे देखने के लिए कीवर्ड तर्क के रूप में भेजने के लिए स्ट्रिंग में कोण कोष्ठक (जैसे <username> ) हो सकते हैं। कोण कोष्ठक में एक कनवर्टर विनिर्देशन शामिल हो सकता है (जैसे <int:section> का अंतर भाग) जो मिलान किए गए वर्णों को सीमित करता है और दृश्य में दिए गए चर के प्रकार को भी बदल सकता है। उदाहरण के लिए, <int:section> दशमलव अंकों की एक स्ट्रिंग से मेल खाता है और मान को एक int परिवर्तित करता है। देखें कि कैसे Django अधिक जानकारी के लिए अनुरोध संसाधित करता है

view तर्क एक दृश्य फ़ंक्शन या वर्ग-आधारित विचारों के लिए as_view() का परिणाम है। यह एक django.urls.include() भी हो सकता है।

kwargs तर्क आपको फ़ंक्शन या विधि के लिए अतिरिक्त तर्क पास करने की अनुमति देता है। उदाहरण के लिए फ़ंक्शन देखने के लिए अतिरिक्त विकल्प पास करना देखें

name तर्क उपयोगी क्यों है, इसके लिए नामकरण पैटर्न देखें।

re_path()

re_path(route, view, kwargs=None, name=None)
Django 2.0 में नया:

urlpatterns में शामिल करने के लिए एक तत्व देता है। उदाहरण के लिए:

from django.urls import include, re_path

urlpatterns = [
    re_path(r'^index/$', views.index, name='index'),
    re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),
    re_path(r'^weblog/', include('blog.urls')),
    ...
]

route तर्क एक स्ट्रिंग या gettext_lazy() होना चाहिए ( अनुवाद करने वाले URL पैटर्न देखें) जिसमें Python के re मॉड्यूल के साथ संगत एक नियमित अभिव्यक्ति हो। स्ट्रिंग्स आमतौर पर कच्चे स्ट्रिंग सिंटैक्स ( r'' ) का उपयोग करते हैं ताकि वे बैकस्लैश के साथ एक और बैकस्लैश से बचने की आवश्यकता के बिना सीक्वेंस शामिल कर सकें। जब एक मैच किया जाता है, तो नियमित अभिव्यक्ति से कैप्चर किए गए समूहों को दृश्य में पास किया जाता है - जैसे कि नाम दिए गए तर्क, यदि समूह का नाम दिया गया है, और स्थितिगत तर्क के रूप में अन्यथा। मूल्यों को बिना किसी प्रकार के रूपांतरण के तार के रूप में पारित किया जाता है।

path() लिए view , kwargs और name तर्क समान हैं।

include()

include(module, namespace=None) [source]
include(pattern_list)
include((pattern_list, app_namespace), namespace=None)

एक फ़ंक्शन जो कि एक अन्य URLconf मॉड्यूल के लिए एक पूर्ण पायथन आयात पथ लेता है जिसे इस स्थान पर "शामिल" होना चाहिए। वैकल्पिक रूप से, एप्लिकेशन नेमस्पेस और इंस्टेंस नेमस्पेस जहां प्रविष्टियों को शामिल किया जाएगा, को भी निर्दिष्ट किया जा सकता है।

आमतौर पर, आवेदन नाम स्थान शामिल मॉड्यूल द्वारा निर्दिष्ट किया जाना चाहिए। यदि कोई अनुप्रयोग नाम स्थान सेट है, तो namespace तर्क का उपयोग किसी भिन्न आवृत्ति नामस्थान को सेट करने के लिए किया जा सकता है।

include() भी एक तर्क के रूप में स्वीकार करता है या तो एक पुनरावृत्ति जो URL पैटर्न या ऐसे पुनरावृत्त प्लस अनुप्रयोग नामस्थान के नाम युक्त 2-ट्यूपल लौटाता है।

पैरामीटर:
  • मॉड्यूल - URLconf मॉड्यूल (या मॉड्यूल नाम)
  • namepace ( str ) - URL प्रविष्टियों के लिए इंस्टेंस नामस्थान शामिल किया जा रहा है
  • pattern_list - path() अपरिवर्तनीय path() और / या re_path() उदाहरण।
  • app_namespace ( str ) - URL प्रविष्टियों के लिए अनुप्रयोग नामस्थान शामिल किया जा रहा है

अन्य URLconfs और URL नामस्थान शामिल करना और URLconfs शामिल करना देखें

Django 2.0 में बदला:

पुराने संस्करणों में, यह फ़ंक्शन django.conf.urls में स्थित है। पुराना स्थान अभी भी पीछे की संगतता के लिए काम करता है।

register_converter()

register_converter(converter, type_name) [source]
Django 2.0 में नया:

path() में उपयोग के लिए एक कन्वर्टर को पंजीकृत करने का कार्य।

converter तर्क एक कनवर्टर वर्ग है, और type_name पथ पैटर्न में उपयोग करने के लिए कनवर्टर नाम है। उदाहरण के लिए कस्टम पथ कन्वर्टर्स पंजीकृत करना देखें।

django.conf.urls URLconfs में उपयोग के लिए कार्य करता है

static()

static.static(prefix, view=django.views.static.serve, **kwargs)

डिबग मोड में फ़ाइलों की सेवा के लिए एक URL पैटर्न वापस करने के लिए सहायक फ़ंक्शन:

from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    # ... the rest of your URLconf goes here ...
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

url()

url(regex, view, kwargs=None, name=None) [source]

यह फ़ंक्शन re_path() लिए एक अन्य नाम है। भविष्य में रिलीज होने के बाद इसे हटाए जाने की संभावना है।

handler400

handler400

एक कॉल करने योग्य, या देखने के लिए पूर्ण पायथन आयात पथ का प्रतिनिधित्व करने वाला एक स्ट्रिंग जिसे अगर HTTP क्लाइंट ने अनुरोध भेजा है जो त्रुटि स्थिति और 400 की स्थिति कोड के साथ प्रतिक्रिया देता है।

डिफ़ॉल्ट रूप से, यह django.views.defaults.bad_request() । यदि आप एक कस्टम दृश्य लागू करते हैं, तो सुनिश्चित करें कि यह request और exception तर्क स्वीकार करता है और HttpResponseBadRequest देता है।

handler403

handler403

कॉल करने योग्य, या देखने के लिए पूर्ण पायथन आयात पथ का प्रतिनिधित्व करने वाला एक स्ट्रिंग जिसे उपयोगकर्ता को किसी संसाधन तक पहुँचने के लिए आवश्यक अनुमतियाँ नहीं होने पर बुलाया जाना चाहिए।

डिफ़ॉल्ट रूप से, यह django.views.defaults.permission_denied() । यदि आप एक कस्टम दृश्य लागू करते हैं, तो सुनिश्चित करें कि यह request और exception तर्कों को स्वीकार करता है और एक HttpResponseForbidden लौटाता है।

handler404

handler404

एक कॉल करने योग्य, या देखने के लिए पूर्ण पायथन आयात पथ का प्रतिनिधित्व करने वाला एक स्ट्रिंग जिसे URL पैटर्न से कोई भी मिलान नहीं होने पर बुलाया जाना चाहिए।

डिफ़ॉल्ट रूप से, यह django.views.defaults.page_not_found() । यदि आप एक कस्टम दृश्य लागू करते हैं, तो सुनिश्चित करें कि यह request और exception तर्क स्वीकार करता है और एक HttpResponseNotFound देता है।

handler500

handler500

एक कॉल करने योग्य, या एक स्ट्रिंग जो देखने के लिए पूर्ण पायथन आयात पथ का प्रतिनिधित्व करती है जिसे सर्वर त्रुटियों के मामले में बुलाया जाना चाहिए। सर्वर त्रुटि तब होती है जब आपके पास व्यू कोड में रनटाइम त्रुटियां होती हैं।

डिफ़ॉल्ट रूप से, यह django.views.defaults.server_error() । यदि आप एक कस्टम दृश्य लागू करते हैं, तो सुनिश्चित करें कि यह एक HttpResponseServerError देता है।