मैं इस तरह एक यूआरएल पैटर्न मिल गया है जारी रखने के लिए:404 उठाएँ और URL चेन
urlpatterns = (
url(r'^$', list_titles, name='list'),
url(r'^(?P<tag>[a-z\-0-9]+?)/$', list_titles, name='filtered-list'),
url(r'^(?P<title>\S+?)/$', show_title, name='title'),
)
filtered-list
और title
मैच एक ही बातें।
से filtered-list
में मेल खाने वाली चीज़ों की एक उपलब्ध सूची है, तो मुझे list_titles
आग लगाना चाहिए। लेकिन अगर tag
से मेल नहीं खाता है, तो मैं इसे यूआरएल प्रोसेसर पर वापस बुलबुला करना चाहता हूं ताकि show_title
आग लग जाए।
यदि कोई मिलान करने वाला शीर्षक नहीं है, तो मैं वहां उचित 404 उठाउंगा।
मुझे पता है कि मैं इसे दृश्य के अंदर से कर सकता हूं ... लेकिन यह थोड़ा सा सुगंधित है जिससे प्रक्रिया को हार्ड-वायर किया जा सकता है। मैं यूआरएल ऑर्डर करना चाहता हूं कि यह तय करने के लिए कि पहले क्या चुना जाता है और यह किस तरह से बंद हो जाता है।
get_list_or_404 के लिए धन्यवाद लेकिन यह मेरे प्रश्न के लिए इतना जवाब नहीं है। मैं कह रहा हूं कि अगर मुझे यूआरएल के आधार पर खिताब की सूची नहीं मिल रही है, तो मैं चाहता हूं कि यूआरएल को बाकी यूआरएल के माध्यम से फिर से मूल्यांकन किया जाए। – Oli
हम्म ... मैं देखता हूं। आपका मूल प्रश्न बहुत स्पष्ट नहीं था। याद रखें कि urls.py सिर्फ पायथन कोड है, इसलिए आप वहां कुछ प्रकार की सत्यापन कर सकते हैं। मुझे एक मिनट दें और मैं अपना जवाब संपादित करूंगा। –
'बढ़ा Http404' शायद' होना चाहिए Http404 उठाना() ': https://docs.djangoproject.com/en/2.0/topics/http/views/#the-http404-exception –