Django - How to pass several arguments to the url template tag -
मेरे urls.py में मेरे पास है:
(r '^ (? P & lt; ? साल & gt; \ घ {4}) / (पी एंड LT; माह & gt; \ घ {2}) / (पी एंड LT; दिन & gt; \ घ {2}) / अनुभाग / (पी एंड LT; स्लग & gt; [- \ डब्ल्यू]) / $ ',' 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 रेंडरिंग करते समय एक अपवाद पकड़ा गया: 'पेपर_आईस्यू_सेक्शन_ डिटेल' के साथ तर्कों ('2010, 1, 22, यू' बिजनेस ')' के लिए रिवर्स और खोजशब्द तर्क '{}' नहीं मिला।
हालांकि, अगर मैं केवल एक तर्क की आवश्यकता के लिए यूआरएल पैटर्न को बदलता है तो यह ठीक काम करता है अर्थात्:
(r '^ (? P & lt; year & gt; \ d {4}) / $', 'paper.views.issue_section_detail', {}, 'paper_issue_section_detail'), और:
{% url paper_issue_section_detail issue.pub_date.year%}
तो ऐसा लगता है कि जब मैं 'Url' टेम्पलेट टैग का उपयोग करके एक भी तर्क से अधिक पारित करें - मुझे दो तर्कों के साथ एक ही त्रुटि मिलती है। क्या कई तर्कों को पारित करने का एक अलग तरीका है? मैंने नामांकित कीवर्ड तर्कों में गुजरने की कोशिश की है और इससे एक समान त्रुटि उत्पन्न होती है।
इसके लिए जो मूल्य है, संबंधित दृश्य इस तरह से शुरू होता है:
def problem_section_detail (अनुरोध,
मैं यूआरएल टेम्पलेट टैग पर एक ही तर्क से अधिक कैसे पारित करूं?
समस्या आपके url कॉन्फ़िगरेशन का / (? पी & lt; month & gt; \ d {2}) /
यह केवल दो अंकों ( \ d {2}
) की अनुमति देता है, जबकि issue.pub_date.month
केवल एक ही अंक है।
आप या तो अनुमति दे सकते हैं यूआरएल में एक अंक भी है (लेकिन यह अद्वितीय यूआरएल के सिद्धांत का उल्लंघन करेगा, / 2010/1 /...//>>
/ 2010/01 /.../ के समान होगा कोड>) या अपने यूआरएल टेम्पलेटैटैग में महीने के तर्क में दो अंक पास कर सकते हैं।
आप दिनांक ऑब्जेक्ट्स के सुसंगत रूपरेखा को प्राप्त करने के लिए दिनांक
फ़िल्टर का उपयोग कर सकते हैं। इस तरह यूआरएल टैग का प्रयोग करें:
{% url paper_issue_section_detail issue.pub_date | तिथि: "वाई", मुद्दा.pub_date | तिथि: "मी", मुद्दा.pub_date | तिथि: "डी" , Section_li.slug%}
महीने और दिन तर्क देखें: इसे हमेशा दो अंकों के रूप में प्रदर्शित किया जाएगा (यदि आवश्यक हो तो अग्रणी शून्य वाला)। तिथि
फ़िल्टर के लिए कौन से विकल्प संभव है यह देखने के लिए देखें।
Comments
Post a Comment