Django の URL 数を表示するコード
Django
2022-11-02 12:34 (3年前)

IT監査の際、アプリケーションの規模を表す必要があったので、Django の総 URL 数を表示することでアプリケーションの規模とみなすことにした。
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))
評価をお願いします (会員登録・ログイン不要)
まだ評価がありません
関連記事
Django を 5.1 にアップグレードしたら、管理サイトの Inline で、プライマリーキーが表示される場所に `{'name': 'id', 'label': 'ID', 'help_text': '', 'field': 'id', 'is_hidden': True}` のような文字列が表示される場合の対応
django-allauth で、ソーシャルアカウントプロバイダーを決め打ちしてログインビュー・リダイレクトビューを返す (AWS Cognitoを使う時など)
Django5にして依存ライブラリも更新したら、メール送信で SSL: CERTIFICATE_VERIFY_FAILED エラーが出るようになった
Django の ユニットテストの assertEqual の引数の first, second は実際は expected, actual
著者は、アプリケーション開発会社 Cyberneura を運営しています。
開発相談をお待ちしています。
開発相談をお待ちしています。