Skip to content

Instantly share code, notes, and snippets.

@pikhovkin
Created January 29, 2018 20:18
Show Gist options
  • Save pikhovkin/f134afffa188b6af8e84c481a7b1966d to your computer and use it in GitHub Desktop.
Save pikhovkin/f134afffa188b6af8e84c481a7b1966d to your computer and use it in GitHub Desktop.
Get all pathes from Django project
from django.urls import RegexURLResolver, RegexURLPattern, get_resolver
from django.utils.regex_helper import normalize
r = get_resolver()
r._up = ''
urlpatterns = [r]
urls = []
while urlpatterns:
u = urlpatterns.pop(0)
if isinstance(u, RegexURLPattern):
u._up += u.regex.pattern
urls.append(normalize(u._up))
elif isinstance(u, RegexURLResolver):
u._up += u.regex.pattern
for idx, up in enumerate(u.url_patterns):
up._up = u._up
urlpatterns.insert(idx, up)
print urls
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment