Code to Display the Number of URLs in Django

Django
2022-11-02 21:34 (1 years ago) ytyng

During an IT audit, I needed to represent the size of an application, so I decided to use the total number of URLs in Django to signify the application's scale.

from django.urls.resolvers import get_resolver
root_resolver = get_resolver()


def _join_namespace(a, b):
    return (a + ':' if a else '') + (b or '')


def _count_urls(namespace, resolver):
    count = 0
    _namespace = _join_namespace(namespace, resolver.namespace)
    for ns, (prefix, res) in resolver.namespace_dict.items():
        count += _count_urls(_namespace, res)

    for n, l in resolver.reverse_dict.items():
        if callable(n):
            continue
        count += 1
    return count


print('URLS count:', _count_urls('', root_resolver))

This script calculates and prints the total number of URLs in a Django application. By analyzing the URL patterns, it sums up all the available endpoints, thereby providing an indicator of the application's size.

Currently unrated

Comments

Archive

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011