Created
August 19, 2010 13:45
-
-
Save richleland/537912 to your computer and use it in GitHub Desktop.
grab named url patterns
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from django.core import urlresolvers | |
from django.http import HttpResponse | |
intro_text = """Named URL patterns for the {% url %} tag | |
======================================== | |
e.g. {% url pattern-name %} | |
or {% url pattern-name arg1 %} if the pattern requires arguments | |
""" | |
def show_url_patterns(request): | |
patterns = _get_named_patterns() | |
r = HttpResponse(intro_text, content_type = 'text/plain') | |
longest = max([len(pair[0]) for pair in patterns]) | |
for key, value in patterns: | |
r.write('%s %s\n' % (key.ljust(longest + 1), value)) | |
return r | |
def _get_named_patterns(): | |
"Returns list of (pattern-name, pattern) tuples" | |
resolver = urlresolvers.get_resolver(None) | |
patterns = sorted([ | |
(key, value[0][0][0]) | |
for key, value in resolver.reverse_dict.items() | |
if isinstance(key, basestring) | |
]) | |
return patterns |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment