Code to Display the Number of URLs in Django

Django
2022-11-02 12:34 (3 years ago)
Code to Display the Number of URLs in Django

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.

Please rate this article
Currently unrated
The author runs the application development company Cyberneura.
We look forward to discussing your development needs.

Categories

Archive