Skip to content

Instantly share code, notes, and snippets.

@ladder1984
Created February 21, 2019 11:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ladder1984/420dfd53c9a59bcd4ddd28293cc06b45 to your computer and use it in GitHub Desktop.
Save ladder1984/420dfd53c9a59bcd4ddd28293cc06b45 to your computer and use it in GitHub Desktop.
Get urlpattern from django request. Django 1.8.2
from compat import URLPattern, URLResolver
from django.core.urlresolvers import resolve, get_resolver
def find_url_pattern_by_name(name):
if name is None:
return None
def deep_find(rs):
for r in rs.url_patterns:
if isinstance(r, URLResolver):
result = deep_find(r)
if result is not None:
return result
elif isinstance(r, URLPattern):
if "{}:{}".format(rs.namespace,r.name) == name:
return r.regex.pattern
return deep_find(get_resolver(None))
view_name=resolve(request.path)
print(find_url_pattern_by_name(view_name))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment