यह सवाल थोड़ा पुराना है, लेकिन मैं उसी समस्या में भाग गया और मैंने सोचा कि मैं अपने समाधान पर चर्चा करूंगा। किसी दिए गए Django प्रोजेक्ट को स्पष्ट रूप से अपने सभी URL के बारे में जानने का एक साधन चाहिए और कुछ चीजें करने में सक्षम होना चाहिए:
- एक यूआरएल से नक्शा -> देखें
- एक नामित url से मानचित्र -> url (तब 1 का उपयोग दृश्य प्राप्त करने के लिए किया जाता है)
- दृश्य नाम से नक्शा -> url (तब 1 का उपयोग दृश्य प्राप्त करने के लिए किया जाता है)
Django ज्यादातर एक नामक एक वस्तु के माध्यम से यह पूरा करता है RegexURLResolver।
- RegexURLResolver.resolve (एक url से मानचित्र -> दृश्य)
- RegexURLResolver.reverse
आप इन वस्तुओं में से किसी एक पर अपना हाथ रख सकते हैं:
from my_proj import urls
from django.core.urlresolvers import get_resolver
resolver = get_resolver(urls)
उसके बाद, आप निम्न तरीके से अपने यूआरएल को प्रिंट कर सकते हैं:
for view, regexes in resolver.reverse_dict.iteritems():
print "%s: %s" % (view, regexes)
यह कहा, Alasdair का समाधान पूरी तरह से ठीक है और इसके कुछ फायदे हैं, क्योंकि यह इस विधि की तुलना में अधिक अच्छी तरह से कुछ प्रिंट करता है। लेकिन किसी RegexURLResolverवस्तु पर अपने हाथों के बारे में जानना और उसके बारे में जानना कुछ अच्छा है, खासकर यदि आप Django के इंटर्नल में रुचि रखते हैं।