2013-06-05 6 views
5

मैं इस लाइन को समझने की कोशिश कर रहा हूं: url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'),Django's tutorial से विचार बनाने के तरीके पर। ?Django के urlconf को समझना

विशेष रूप से, मैं निम्नलिखित समझ में नहीं आता:

  • पी
  • \ d +
  • name = 'विस्तार'

urls.py

urlpatterns = patterns('', 
    # ex: /polls/ 
    url(r'^$', views.index, name='index'), 
    # ex: /polls/5/ 
    url(r'^(?P<poll_id>\d+)/$', views.detail, name='detail'), 
    # ex: /polls/5/results/ 
    url(r'^(?P<poll_id>\d+)/results/$', views.results, name='results'), 
    # ex: /polls/5/vote/ 
    url(r'^(?P<poll_id>\d+)/vote/$', views.vote, name='vote'), 
) 

उत्तर

9
  • (?P<poll_id>...)named group बनाता है; अब आप उस समूह में जो कुछ भी मिलान कर चुके थे उसका उल्लेख कर सकते हैं।

    दृश्य को उस नाम से एक कीवर्ड पैरामीटर पारित किया जाएगा जब कॉल किया जाएगा।

  • \d एक वर्ण समूह है, यह संख्यात्मक अंकों से मेल खाता है (09 से ASCII डेटा के लिए)। + एक क्वांटिफायर है; केवल 1 या अधिक अंक मिलेंगे।

  • name='detail' यूआरएल पैटर्न का नाम दें ताकि आप इसे बाद में नाम से संदर्भित कर सकें जब रिवर्स यूआरएल बनाते हैं। Django मैनुअल में Naming URL patterns देखें।

कुल मिलाकर, उस पैटर्न एक यूआरएल है कि अंकों के साथ शुरू होता है, बस एक / स्लैश के बाद से मेल खाता है,, views.detail दृश्य कॉल करने के लिए poll_id पैरामीटर के रूप में मेल नहीं खाते अंकों में गुजर Django के कारण।

{% url 'name' poll.id %} 

http://yourserver/[digits of poll.id]/ करने के लिए एक यूआरएल उत्पन्न होगा: name कीवर्ड आसान इस दृश्य के लिए एक URL उत्पन्न करने के लिए बनाता है।

+0

+1 बहुत उपयोगी उत्तर, धन्यवाद। – Anthony

संबंधित मुद्दे