"django.contrib" 下のアドオン

revision-up-to:7127 (0.97pre SVN)

Django は Python の "batteries included" 哲学 を目指しています。 Django には Web 開発における課題を解くための様々な外部オプションツールがついてきま す。

これらのコードは Django 配布物中の django/contrib にあります。このドキュ メントでは、 contrib 下のパッケージをざっと解説し、パッケージを利用する ときに必要な依存関係について説明します。

Note

これらのアドオンの大半、特にモデルやテンプレートタグの定義が入っている アドオンを使うには、パッケージ名 (例えば 'django.contrib.admin') を INSTALLED_APPS 設定に追加して、 manage.py syncdb を再度実行する 必要があります。

admin

Django の自動化管理インタフェースです。詳しくは チュートリアルその 2 を 参照してください。

auth および contenttypes パッケージをインストールしておく必要があります。

auth

Django の認証フレームワークです。詳しくは 認証のドキュメント を参照して 下さい。

comments

単純かつ柔軟なコメントシステムです。まだドキュメントはありません。

contenttypes

コンテンツの「タイプ」をフックしするための軽量フレームワークです。 コンテンツタイプは、インストールされている Django の個々のモデルを指します。

contenttypes のドキュメント を参照してください。

csrf

クロスサイトリクエストフォージェリ (Cross Site Request Forgeries) を阻止す るためのミドルウェアです。

csrf のドキュメント を参照してください。

flatpages

「フラット (flat) な」 HTML コンテンツをデータベースで扱うためのフレームワー クです。

flatpages のドキュメント を参照してください。

sites パッケージもインストールしておく必要があります。

formtools

Django の新しいフォーム (django.newforms) に対する高水準の抽象化インタフェー スです。

django.contrib.formtools.preview

「 HTML フォームを表示し、必ずプレビューを行ってからフォームデータを提出す る」というワークフローを抽象化したものです。

フォームプレビューのドキュメント を参照してください。

humanize

データに「人間くささ (human touch)」を与えるための Django テンプレートフィ ルタです。これらのフィルタを有効にするには、 INSTALLED_APPS 設定に 'django.contrib.humanize' を加えます。インストール後、テンプレート上で {% load humanize %} を呼び出せば、以下のフィルタを利用できるようになり ます:

apnumber

1-9 の数字に対して、数をアルファベットで表します。それ以外の数はそのまま数 字で返します。これは Associated Press の書式に従っています。

例:

  • 1'one' になります
  • 2'two' になります。
  • 1010 になります。

渡す値は整数でも、整数を文字列で表したものでもかまいません。

intcomma

整数を三桁ごとにカンマで区切った形式の文字列に変換します。

例:

  • 4500'4,500' になります。
  • 45000'45,000' になります。
  • 450000'450,000' になります。
  • 4500000'4,500,000' になります。

渡す値は整数でも、整数を文字列で表したものでもかまいません。

intword

大きな整数を読みやすいテキスト表現に変換します。100 万を超えるような値を扱 う場合に便利です。

例:

  • 1000000'1.0 million' になります。
  • 1200000'1.2 million' になります。
  • 1200000000'1.2 billion' になります。

Values up to 1000000000000000 (one quadrillion) are supported.

渡す値は整数でも、整数を文字列で表したものでもかまいません。

ordinal

整数を序数形式の文字列に変換します。

例:

  • 1'1st' になります。
  • 2'2nd' になります。
  • 3'3rd' になります。

渡す値は整数でも、整数を文字列で表したものでもかまいません。

naturalday

開発バージョンの Django で新たに登場した機能です

日付が今日、明日、昨日のいずれかに該当する場合、それぞれ「今日 ("today")」、 「明日 ("tomorrow") 」、「昨日 ("yesterday")」を返します。それ以外の日付の 場合は、引数に渡したフォーマット文字列を使って日付をレンダします。

引数: now と同じ日付フォーマット形式

今日が 2007 年 2 月 17 日とすると、以下のように日付を表示します:

  • 16 Feb 2007昨日 に変わります。
  • 17 Feb 2007今日 に変わります。
  • 18 Feb 2007明日 に変わります。
  • 引数を与えない場合、今日、昨日、明日以外の日付は DATE_FORMAT 設定 に従ってフォーマットされます。

localflavor

特定の国や文化でのみ有用な Django の短いコード (snippet) を集めたものです。 例えば、 django.contrib.localflavor.us.forms には、米国の郵便番号 (U.S. zip code) を検証するための USZipCodeField が入っています。

localflavor のドキュメント を参照してください。

markup

テンプレートフィルタのコレクションです。以下の 3 つのマークアップ言語に対す るフィルタを実装しています:

どのフィルタも、各マークアップ言語で書かれたテキストの入った文字列を引数に とり、マークアップ処理済みのテキストの入った文字列を返します。例えば、 textile フィルタは Textile フォーマットで書かれたテキストを HTML に変換 します。

フィルタを有効にするには、 'django.contrib.markup'INSTALLED_APPS 設定に追加します。その上で {% load markup %} をテン プレートに追加すれば、フィルタを使えるようになります。詳細は django/contrib/markup/templatetags/markup.py のソースコードを参 照してください。

redirects

リダイレクトを管理するためのフレームワークです。

redirects のドキュメント を参照してください。

sessions

セッション管理のためのフレームワークです。

セッションのドキュメント を参照してください。

sites

一つのデータベースと Django を使って複数のウェブサイトを操作できるようにす るための軽量フレームワークです。このフレームワークを使うと、オブジェクトを 特定の (一つまたは複数の) サイトに関連づけできます。

sites のドキュメント を参照してください。

sitemaps

Google サイトマップ XML ファイルを生成するためのフレームワークです。

sitemaps のドキュメント を参照してください。

syndication

RSS および Atom 形式の配信フィード (syndication feed) をごく簡単に生成する ためのフレームワークです。

配信フィードフレームワークのドキュメント を参照してください。

webdesign

Web の 開発者 ではなく デザイナ のためのヘルパやユーティリティです。

webdesign のドキュメント を参照してください。

その他のアドオン

contrib に入れたらよいと思う機能について何かアイデアがあるなら、是非教 えて下さい! コードを書いて、 django-users mailing list に送って下さい。