humanize

基本情報 [必須]

項目 内容
モジュールパス contrib/humanize
種別 テンプレートタグライブラリ
ファイル数 2(直下)
サブモジュール数 1(templatetags)

概要 [必須]

Django テンプレートで数値・日時などのデータを人間にとって読みやすい形式に変換するテンプレートフィルタ群を提供するモジュールである。{% load humanize %} で使用可能になり、数値のカンマ区切り(intcomma)、序数表現(ordinal)、相対日時表示(naturaltime)など、表示層での読みやすさを向上させるフィルタを提供する。パッケージ初期化ファイルは空であり、実際のフィルタ実装は templatetags/humanize.py に集約されている。AppConfig は最小限の設定のみを持つ。

設計パターン [必須]

パターン名 適用範囲 説明
Library / Registry templatetags/humanize.py Django テンプレートタグライブラリに各フィルタを @register.filter で登録

アーキテクチャ [必須]

モジュール構成

humanize/
├── templatetags/     - テンプレートフィルタ実装
│   ├── __init__.py   - パッケージマーカー
│   └── humanize.py   - フィルタ関数群
├── __init__.py       - パッケージマーカー(空)
└── apps.py           - HumanizeConfig

コンポーネント関連図

Mermaid形式:

graph LR
    Apps[INSTALLED_APPS] --> Config[HumanizeConfig<br/>apps.py]
    Template[テンプレート] -->|load humanize| Tags[templatetags/humanize.py<br/>フィルタ群]
    Tags --> Output[フォーマット済み出力]

機能一覧 [必須]

機能名 説明 主要ファイル
アプリケーション設定 humanize アプリの AppConfig apps.py
テンプレートフィルタ 数値・日時の人間可読フォーマット templatetags/humanize.py

公開インターフェース [必須]

クラス / 関数

名前 種別 用途
HumanizeConfig class INSTALLED_APPS に指定する AppConfig

テンプレートフィルタ(intcomma, intword, naturaltime, ordinal 等)は templatetags/humanize.py で定義されており、{% load humanize %} でテンプレート内から使用する。

依存関係 [必須]

外部依存(このモジュールが依存する外部パッケージ)

外部パッケージへの直接依存は該当なし。

外部依存(このモジュールが依存する内部モジュール)

依存先モジュール 主要クラス 用途
django/apps AppConfig アプリケーション設定の基底クラス
django/utils/translation gettext_lazy 国際化

内部依存(このモジュールに依存するもの)[最重要]

外部モジュールからの直接的なコード依存は検出されませんでした。ユーザーのテンプレートから {% load humanize %} で使用される。

データフロー [必須]

Mermaid形式:

flowchart LR
    Input[テンプレート変数] -->|フィルタ適用| Filter[humanize フィルタ]
    Filter --> Output[フォーマット済み文字列]

セキュリティ考慮 [必須]

観点 対策状況 詳細
入力検証 なし テンプレートフィルタは入力値をフォーマットするのみ
認証/認可 なし テンプレート表示のみ
機密データ なし 該当なし

技術的負債・既知の問題 [必須]

特に問題は検出されませんでした。

拡張ポイント [必須]

変更内容 修正対象ファイル 手順・注意点
新しいフィルタ追加 templatetags/humanize.py @register.filter で関数を登録。国際化対応が必要な場合は gettext を使用

注意点・特記事項 [必須]

  • 設計上の制約: INSTALLED_APPS"django.contrib.humanize" を追加しないとテンプレートタグが使用できない
  • パフォーマンス: 該当なし
  • 互換性: 該当なし

配下ドキュメント [必須]

サブモジュール

ファイル