मेरी urls.py में करने के लिए कई तर्क पारित करने के लिए मेरे पास है:Django - कैसे यूआरएल टेम्पलेट टैग
(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/section/(?P<slug>[-\w]+)/$',
'paper.views.issue_section_detail',
{},
'paper_issue_section_detail'
),
और मैं एक टेम्पलेट में यह करने के लिए कोशिश कर रहा हूँ:
{% url paper_issue_section_detail issue.pub_date.year,issue.pub_date.month,issue.pub_date.day,section_li.slug %}
लेकिन मुझे यह त्रुटि मिलती है:
TemplateSyntaxError
Caught an exception while rendering: Reverse for 'paper_issue_section_detail' with arguments '(2010, 1, 22, u'business')' and keyword arguments '{}' not found.
हालांकि, अगर मैं केवल एक तर्क की आवश्यकता के लिए यूआरएल पैटर्न बदलता हूं तो यह ठीक काम करता है। अर्थात्:
(r'^(?P<year>\d{4})/$',
'paper.views.issue_section_detail',
{},
'paper_issue_section_detail'
),
और:
{% url paper_issue_section_detail issue.pub_date.year %}
तो यह शिकायत करने के लिए जब मैं एक ही तर्क 'url' टेम्पलेट टैग का उपयोग कर अधिक से अधिक पारित लगता है - मैं दो तर्क के साथ एक ही त्रुटि मिलती है। क्या कई तर्क पारित करने का कोई अलग तरीका है? मैंने नामित कीवर्ड तर्कों में गुजरने का प्रयास किया है और यह एक समान त्रुटि उत्पन्न करता है।
क्या इसके लायक है के लिए, संबंधित दृश्य इस तरह शुरू होता है:
def issue_section_detail(request, year, month, day, slug):
मैं कैसे यूआरएल टेम्पलेट टैग के लिए एक एकल तर्क की तुलना में अधिक से पारित करते हैं?
यह बहुत अच्छा लगता है - मैं वास्तव में यूआरएल के लिए संभावित स्वरूपण को बदलना नहीं चाहता हूं। लेकिन जब मैं मुद्दा करता हूं.pub_date.month | दिनांक: "एम" तो एक खाली स्ट्रिंग यूआरएल/व्यू को पास हो जाती है। –
आप सही हैं - मुझे खेद है। मुझे स्पष्ट रूप से मूल पोस्ट में गलत था। मैंने 'यूआरएल' टैग को सही किया। आपको 'issue.pub_date | date:" m "' issue.pub_date.month की बजाय "m" का उपयोग करना होगा। दिनांक: "m" '। 'दिनांक' फ़िल्टर 'डेटाटाइम' ऑब्जेक्ट्स (pub_date विशेषता) पर काम करता है और पूर्णांक (pub_date.month विशेषता) पर नहीं। –
दोह, ज़ाहिर है, मुझे भी यह देखना चाहिए था। मदद ग्रेगोर के लिए धन्यवाद भार। –