/ / Django: रिवर्स नहीं मिला> टेम्पलेट में {% url%} - django, url, तर्क, विपरीत

Django: रिवर्स नहीं मिला> टेम्पलेट में {% url%} - django, url, तर्क, रिवर्स

यह समस्या सरल प्रतीत होती है और इसे SO में कई बार वर्णित किया गया है, लेकिन मैं अभी भी यह नहीं समझ सकता कि यह मेरे मामले में क्यों काम नहीं कर रहा है।

तो, मेरे पास एक यूआरएल घोषित है urls.py

urlpatterns = patterns("",
url(r"^(?P<country>[-w]+)/$", CountryListView.as_view(), name="list_by_country"),)

और मेरे में टेम्पलेट मैं यूआरएल बुला रहा हूँ

<a href="{% url "list_by_country" country.country__name %}" >{{ country.country__name }}</a>

हालांकि, मुझे मिल रहा है त्रुटि संदेश कि यूआरएल उलट नहीं किया जा सका

Reverse for "list_by_country" with arguments "(u"United Kingdom",)" and keyword arguments "{}" not found

रिवर्स त्रुटि का कारण क्या है? क्या तर्क में रिक्त स्थान शायद अनुमति नहीं है?


उत्तर:

उत्तर № 1 के लिए 4

समस्या यह है कि "यूनाइटेड किंगडम" regex से मेल नहीं खाता है [-w]+। यदि आप रिक्त स्थान से मिलान करना चाहते हैं, तो आपको अपना रेगेक्स बदलना चाहिए [-w ]+। उदाहरण:

url(r"^(?P<country>[-w ]+)/$", CountryListView.as_view(), name="list_by_country")

आप मिलान करना भी चुन सकते हैं s केवल एक ही अंतरिक्ष चरित्र के बजाय।