.. _ref-contrib-localflavor: ===================== localflavor アドオン ===================== :revision-up-to: 11321 (1.1) .. module:: django.contrib.localflavor :synopsis: 特定の国や文化で有用な Django コードのコレクションです。 Python の「バッテリ入り (batteries included)」哲学に従って、 Django には様々 な国や文化のための有用なコードが付属しています。こうしたコードは 「localflavor アドオン」と呼ばれ、 :mod:`django.contrib.localflavor` パッケー ジに収められています。 :mod:`~django.contrib.localflavor` パッケージは、各国、各文化圏のコードを、 それぞれ `ISO 3166 国別コード`_ に従って名付けたサブパッケージにまとめてい ます。 :mod:`~django.contrib.localflavor` アドオンの大部分は、 :ref:`forms ` フレームワークから導出された、ローカライ ズされたフォームコンポーネントで占められています。例えば、 :class:`~django.contrib.localflavor.us.forms.USStateField` にはアメリカの州 名略号を検証する方法が組み込まれていますし、 :class:`~django.contrib.localflavor.fi.forms.FISocialSecurityNumber` は、フィ ンランドの社会保障番号の検証方法が組み込まれています。 ローカライズコンポーネントは、サブパッケージを import するだけで使えます。 例えば、フランスの電話番号を入力するためのフィールドを生成したければ、以下 のようにします:: from django import forms from django.contrib.localflavor.fr.forms import FRPhoneNumberField class MyForm(forms.Form): my_french_phone_no = FRPhoneNumberField() localflavor のサポートする地域 ================================ :mod:`~django.contrib.localflavor` がサポートしている国や文化圏は、以下の通 りです: * アルゼンチン (Argentina_) * オーストラリア (Australia_) * オーストリア (Austria_) * ブラジル (Brazil_) * カナダ (Canada_) * チリ (Chile_) * チェコ (Czech_) * フィンランド (Finland_) * フランス (France_) * ドイツ (Germany_) * アイスランド (Iceland_) * インド (India_) * イタリア (Italy_) * 日本 (Japan_) * メキシコ (Mexico_) * オランダ (`The Netherlands`_) * ノルウェー (Norway_) * ペルー (Peru_) * ポーランド (Poland_) * ルーマニア (Romania_) * スロバキア (Slovakia_) * 南アフリカ (`South Africa`_) * スペイン (Spain_) * スイス (Switzerland_) * イギリス (`United Kingdom`_) * アメリカ (`United States of America`_) :mod:`django.contrib.localfravor` パッケージ内には、 ``generic`` というサブ パッケージもあります。このパッケージは、複数の国や文化で便利なコードをまと めています。現状では、このモジュールには、アメリカの標準をデフォルトとしな い、 :ref:`forms ` に基づいた日付や時刻の入力フィールド が入っています。使い方を以下に示します:: from django import forms from django.contrib.localflavor import generic class MyForm(forms.Form): my_date_field = generic.forms.DateField() .. _ISO 3166 country codes: http://www.iso.org/iso/country_codes/iso_3166_code_lists/english_country_names_and_code_elements.htm .. _ISO 3166 国別コード: `ISO 3166 country codes`_ .. _Argentina: `Argentina (ar)`_ .. _Australia: `Australia (au)`_ .. _Austria: `Austria (at)`_ .. _Brazil: `Brazil (br)`_ .. _Canada: `Canada (ca)`_ .. _Chile: `Chile (cl)`_ .. _Czech: `Czech (cz)`_ .. _Finland: `Finland (fi)`_ .. _France: `France (fr)`_ .. _Germany: `Germany (de)`_ .. _The Netherlands: `The Netherlands (nl)`_ .. _Iceland: `Iceland (is\_)`_ .. _India: `India (in\_)`_ .. _Italy: `Italy (it)`_ .. _Japan: `Japan (jp)`_ .. _Mexico: `Mexico (mx)`_ .. _Norway: `Norway (no)`_ .. _Peru: `Peru (pe)`_ .. _Poland: `Poland (pl)`_ .. _Romania: `Romania (ro)`_ .. _Slovakia: `Slovakia (sk)`_ .. _South Africa: `South Africa (za)`_ .. _Spain: `Spain (es)`_ .. _Switzerland: `Switzerland (ch)`_ .. _United Kingdom: `United Kingdom (uk)`_ .. _United States of America: `United States of America (us)`_ 新たなローカルフレーバを追加する ==================================== 私達は、これからもローカルフレーバを充実させていきたいと考えています。ロー カルフレーバに取り込みたいコードがあるなら、 `チケットを作成`_ してください。 ローカルフレーバの作成でお願いしたいのは、文字列を Unicode リテラルで表現 (``u'mystring'``) し、ファイルのエンコーディングに頼って指定しないで欲しい ということです。既にあるローカルフレーバのコードが参考になるでしょう。 .. _create a ticket: http://code.djangoproject.com/simpleticket .. _`チケットを作成`: http://code.djangoproject.com/simpleticket .. _`Argentina (ar)`: Argentina: アルゼンチン (``ar``) ================================= .. class:: ar.forms.ARPostalCodeField 入力が正しい旧形式のアルゼンチン郵便番号または CPA_ であるか検証するフォー ムフィールドです。 .. _CPA: http://www.correoargentino.com.ar/consulta_cpa/home.php .. class:: ar.forms.ARDNIField 入力が正しい Documento Nacional de Identidad (DNI) であるか検証するフォー ムフィールドです。 .. class:: ar.forms.ARCUITField 入力が正しい Código Único de Identificación Tributaria (CUIT) 番号であ るかか検証するフォームフィールドです。 .. class:: ar.forms.ARProvinceSelect アルゼンチンの州および自治領を選べる ``Select`` ウィジェットです。 .. _`Australia (au)`: Australia: オーストラリア (``au``) ==================================== .. class:: au.forms.AUPostCodeField 入力が正しいオーストラリアの郵便番号であるか検証するフォームフィールド です。 .. class:: au.forms.AUPhoneNumberField 入力がオーストラリアの電話番号であるか検証するフォームフィールドです。 有効な番号は 10 桁の数字からなります。 .. class:: au.forms.AUStateSelect オーストラリアの州や領を選べる ``Select`` ウィジェットです。 .. _`Austria (at)`: Austria: オーストリア(``at``) ============================= .. class:: at.forms.ATZipCodeField 入力が正しいオーストリアの ZIP コードであるか検証するフォームフィールド です。 .. class:: at.forms.ATStateSelect 選択肢のリストにオーストリアの州が設定された ``Select`` ウィジェット です。 .. class:: at.forms.ATSocialSecurityNumberField 入力が正しいオーストリアの社会保障番号であるか検証するフォームフィール ドです。 .. _`Brazil (br)`: Brazil: ブラジル (``br``) =========================== .. class:: br.forms.BRPhoneNumberField 入力が正しいブラジルの電話番号であるか検証するフォームフィールドです。 正しい形式は XX-XXXX-XXXX です。 .. class:: br.forms.BRZipCodeField 入力が正しいブラジルのZIPコードであるか検証するフォームフィールドです。 正しい形式はXXXXX-XXXです。 .. class:: br.forms.BRStateSelect ブラジルの州や領を選べる ``Select`` ウィジェットです。 .. _`Canada (ca)`: Canada: カナダ (``ca``) ======================== .. class:: ca.forms.CAPhoneNumberField 入力が正しいカナダの電話番号であるか検証するフォームフィールドです。 正しい形式はXXX-XXX-XXXXです。 .. class:: ca.forms.CAPostalCodeField 入力が正しいカナダの郵便番号であるか検証するフォームフィールドです。 正しい形式はXXX XXXです。 .. class:: ca.forms.CAProvinceField 入力が正しいカナダの州名か、州名略号であるか検証するフォームフィールド です。 .. class:: ca.forms.CASocialInsuranceNumberField 入力が正しいカナダ社会保障番号 (SIN) であるか検証するフォームフィールド です。正しい SIN は、XXX-XXX-XXX の形式で、 `Luhn mod-10 checksum`_ 検証を通ります。 .. _Luhn mod-10 checksum: http://en.wikipedia.org/wiki/Luhn_algorithm .. class:: ca.forms.CAProvinceSelect カナダの州や領を選べる ``Select`` ウィジェットです。 .. _`Chile (cl)`: Chile: チリ (``cl``) ===================== .. class:: cl.forms.CLRutField 入力が正しいチリ国民識別番号 ('Rol Unico Tributario' or RUT) であるか検 証するフォームフィールドです。正しい形式は XX.XXX.XXX-X です。 .. class:: cl.forms.CLRegionSelect チリの地域 (Regiones) を選べる ``Select`` ウィジェットです。 .. _`Czech (cz)`: Czech: チェコ (``cz``) ======================= .. class:: cz.forms.CZPostalCodeField 入力が正しいチェコの郵便番号であるか検証するフォームフィールドです。 正しい形式は XXXXX または XXX XX で、各桁の文字は数字です。 .. class:: cz.forms.CZBirthNumberField 入力が正しいチェコの戸籍登録番号 (Czech Birth Number) であるか検証する フォームフィールドです。 正しい形式は XXXXXX/XXXX (スラッシュは省略可) です。 .. class:: cz.forms.CZICNumberField 入力が正しい Czech IC 番号か検証するフィールドです。 .. class:: cz.forms.CZRegionSelect チェコの地域を選べる ``Select`` ウィジェットです。 .. _`Finland (fi)`: Finland: フィンランド (``fi``) =============================== .. class:: fi.forms.FISocialSecurityNumber 入力が正しいフィンランド社会保障番号であるか検証するフォームフィールド です。 .. class:: fi.forms.FIZipCodeField 入力が正しいフィンランドのZIPコードであるか検証するフォームフィールドで す。正しいコードは 5 桁の数字からなります。 .. class:: fi.forms.FIMunicipalitySelect フィンランドの市名 (municipality) を選べる ``Select`` ウィジェットです。 .. _`France (fr)`: France: フランス (``fr``) =========================== .. class:: fr.forms.FRPhoneNumberField 入力が正しいフランスの電話番号であるか検証するフォームフィールドです。 正しい形式は、 0X XX XX XX XX, 0X.XX.XX.XX.XX, または 0XXXXXXXXX です。 入力は 0X XX XX XX XX 形式に正規化されます。 .. class:: fr.forms.FRZipCodeField 入力が正しいフランスのZIPコードであるか検証するフォームフィールドです。 正しいZIPコードは5桁の数字からなります。 .. class:: fr.forms.FRDepartmentSelect フランスの県名 (department) を選べる ``Select`` ウィジェットです。 .. _`Germany (de)`: Germany: ドイツ (``de``) ========================== .. class:: de.forms.DEIdentityCardNumberField 入力が正しいドイツの身分保障番号 (Personalausweis_) であるか検証するフォー ムフィールドです。正しい番号は XXXXXXXXXXX-XXXXXXX-XXXXXXX-X で、どの桁 グループもゼロだけで構成されていてはなりません。 .. _Personalausweis: http://de.wikipedia.org/wiki/Personalausweis .. class:: de.forms.DEZipCodeField 入力が正しいドイツのZIPコードであるか検証するフォームフィールドです。正 しいコードは5桁の数字からなります。 .. class:: de.forms.DEStateSelect ドイツの州を選べる ``Select`` ウィジェットです。 .. _`The Netherlands (nl)`: The Netherlands: オランダ (``nl``) ==================================== .. class:: nl.forms.NLPhoneNumberField 入力が正しいオランダの電話番号であるか検証するフォームフィールドです。 .. class:: nl.forms.NLSofiNumberField 入力が正しいオランダ社会保障番号 (SoFI/BSN) であるか検証するフォームフィー ルドです。 .. class:: nl.forms.NLZipCodeField 入力が正しいオランダのZIPコードであるか検証するフォームフィールドです。 .. class:: nl.forms.NLProvinceSelect オランダの県 (province) を選べる ``Select`` ウィジェットです。 .. _`Iceland (is_)`: Iceland: アイスランド (``is_``) ================================= .. class:: is_.forms.ISIdNumberField 入力が正しいアイスランドの身分証明番号 (kennitala) であるか検証するフォー ムフィールドです。形式は XXXXXX-XXXX です。 .. class:: is_.forms.ISPhoneNumberField 入力が正しいアイスランド電話番号 (7 桁の数字で、最初の3桁以後にハイフン やスペースが入っていてもよい) であるか検証するフォームフィールドです。 .. class:: is_.forms.ISPostalCodeSelect アイスランドの郵便番号を選べる ``Select`` ウィジェットです。 .. _`India (in_)`: India: インド (``in_``) ======================== .. class:: in.forms.INStateField 入力が正しいインドの州・領名または略号であるか検証するフォームフィール ドです。入力は車両番号登録に使われる標準の 2 文字略号形式に正規化されま す。 .. class:: in.forms.INZipCodeField 入力が正しいインドのZIPコードであるか検証するフォームフィールドです。形 式は XXXXXXX です。 .. class:: in.forms.INStateSelect インドの州や領を選べる ``Select`` ウィジェットです。 .. _`Italy (it)`: Italy: イタリア (``it``) ========================= .. class:: it.forms.ITSocialSecurityNumberField 入力が正しいイタリア社会保障番号 (`codice fiscale`_) であるか検証する フォームフィールドです。 .. _codice fiscale: http://www.agenziaentrate.it/ilwwcm/connect/Nsi/Servizi/Codice+fiscale+-+tessera+sanitaria/NSI+Informazioni+sulla+codificazione+delle+persone+fisiche .. class:: it.forms.ITVatNumberField 入力が正しいイタリアの VAT 番号 (partita IVA) であるか検証するフォーム フィールドです。 .. class:: it.forms.ITZipCodeField 入力が正しいイタリアのZIPコードであるか検証するフォームフィールドです。 正しいコードは 5 桁の数字です。 .. class:: it.forms.ITProvinceSelect イタリアの県 (province) を選べる ``Select`` ウィジェットです。 .. class:: it.forms.ITRegionSelect イタリアの地域名 (region) を選べる ``Select`` ウィジェットです。 .. _`Japan (jp)`: Japan: 日本 (``jp``) ====================== .. class:: jp.forms.JPPostalCodeField 入力が正しい日本の郵便番号であるか検証するフォームフィールドです。7 桁 の数字で、ハイフンはあってもなくても構いません。 .. class:: jp.forms.JPPrefectureSelect 日本の県を選べる ``Select`` ウィジェットです。 .. _`Mexico (mx)`: Mexico: メキシコ (``mx``) =========================== .. class:: mx.forms.MXStateSelect メキシコの州を選べる ``Select`` ウィジェットです。 .. _`Norway (no)`: Norway: ノルウェー (``no``) ============================ .. class:: no.forms.NOSocialSecurityNumber 入力が正しいノルウェー社会保証番号 (personnummer_) であるか検証するフォー ムフィールドです。 .. _personnummer: http://no.wikipedia.org/wiki/Personnummer .. class:: no.forms.NOZipCodeField 入力が正しいノルウェーのZIPコードであるか検証するフォームフィールドです。 正しいコードは 4 桁の数字です。 .. class:: no.forms.NOMunicipalitySelect ノルウェーの市名 (municipality, fylker) を選べる ``Select`` ウィジェッ トです。 .. _`Peru (pe)`: Peru: ペルー (``pe``) ======================= .. class:: pe.forms.PEDNIField 入力が正しいペルー国民識別番号 (DNI) であるか検証するフォームフィールド です。 .. class:: pe.forms.PERUCField 入力が正しい納税登録番号 (Registro Unico de Contribuyentes, RUC) である か検証するフォームフィールドです。正しい RUC 番号は 11 桁の数字形式です。 .. class:: pe.forms.PEDepartmentSelect ペルーの県 (department) を選べる ``Select`` ウィジェットです。 .. _`Poland (pl)`: Poland: ポーランド (``pl``) ============================= .. class:: pl.forms.PLNationalIdentificationNumberField 入力が正しいポーランド国民識別番号 (PESEL_) であるか検証するフォームフィー ルドです。 .. _PESEL: http://en.wikipedia.org/wiki/PESEL .. class:: pl.forms.PLNationalBusinessRegisterField 入力が正しいポーランド法人登記番号 (REGON_) であるか検証するフォームフィー ルドです。REGON は 7 桁または 9 桁の数字で、 http://wipos.p.lodz.pl/zylla/ut/nip-rego.html のチェックサムアルゴリズ ムに従います。 .. _REGON: http://www.stat.gov.pl/bip/regon_ENG_HTML.htm .. class:: pl.forms.PLPostalCodeField 入力が正しいポーランドの郵便番号であるか検証するフォームフィールドです。 正しい郵便番号は XX-XXX 形式の数字です。 .. class:: pl.forms.PLTaxNumberField 入力が正しいポーランド納税者番号 (NIP) であるか検証するフォームフィール ドです。正しい形式は XXX-XXX-XX-XX または XX-XX-XXX-XXX です。NIP に使 われるチェックサムアルゴリズムは http://wipos.p.lodz.pl/zylla/ut/nip-rego.html で定義されています。 .. class:: pl.forms.PLAdministrativeUnitSelect ポーランドの行政単位 (administrative unit) を選べる ``Select`` ウィジェッ トです。 .. class:: pl.forms.PLVoivodeshipSelect ポーランドの郡 (voivodeship, 行政州) を選べる ``Select`` ウィジェットで す。 .. _Romania (ro): Romania: ルーマニア (``ro``) ============================== .. class:: ro.forms.ROCIFField 入力が正しいルーマニア社会保障番号 (CIF) であるか検証するフォームフィー ルドです。入力の先頭に ``RO`` がついていた場合、戻り値からは除去します。 .. class:: ro.forms.ROCNPField 入力が正しいルーマニア個人番号 (CNP) であるか検証するフォームフィールド です。 .. class:: ro.forms.ROCountyField 入力をルーマニアの地域 (judet) またはその略号として検証するフォームフィー ルドです。このフィールドは、入力値の示す地域名を、標準の車両登録番号で 使われる略号に正規化して返します。このフィールドは、分音符号で書かれた 名前しか解釈できません。正しい値を入力させるのが難しいときは、 ``ROCountySelect`` の利用を検討してください。 .. class:: ro.forms.ROCountySelect ルーマニアの地域 (judete) を選べる ``Select`` ウイジェットです。 .. class:: ro.forms.ROIBANField 入力がルーマニア国際銀行の正しい口座番号であるか検証するフォームフィー ルドです。正しい口座番号の形式は ROXX-XXXX-XXXX-XXXX-XXXX-XXXX で、ハイ フンはあってもなくてもかまいません。 .. class:: ro.forms.ROPhoneNumberField 入力が正しいルーマニアの電話番号であるか検証するフォームフィールドです。 このフィールドは、いくつかの特殊な番号を排除します。 .. class:: ro.forms.ROPostalCodeField 入力が正しいルーマニアの郵便番号であるか検証するフォームフィールドです。 .. _`Slovakia (sk)`: Slovakia: スロバキア (``sk``) =============================== .. class:: sk.forms.SKPostalCodeField 入力が正しいスロバキアの郵便番号であるか検証するフォームフィールドです。 正しい番号は、 XXXXX または XXX XX の形式をとります。 .. class:: sk.forms.SKDistrictSelect スロバキアの州 (district) を選べる ``Select`` ウィジェットです。 .. class:: sk.forms.SKRegionSelect スロバキアの地域 (region) を選べる ``Select`` ウィジェットです。 .. _`South Africa (za)`: South Africa: 南アフリカ (``za``) ================================== .. class:: za.forms.ZAIDField 入力が正しい南アフリカ身分証明番号であるか検証するフォームフィールドで す。検証では、 Luhn チェックサムと、簡単な (完全に厳密ではない) 誕生日 のチェックを行います。 .. class:: za.forms.ZAPostCodeField 入力が正しい南アフリカの郵便番号であるか検証するフォームフィールドです。 正しい郵便番号は 4 桁からなります。 .. _`Spain (es)`: Spain: スペイン (``es``) ========================== .. class:: es.forms.ESIdentityCardNumberField 入力が正しいスペインの NIF/NIE/CIF (納税者識別番号) であるか検証するフォー ムフィールドです。 .. class:: es.forms.ESCCCField 入力が正しいスペイン銀行口座番号 (Codigo Cuenta Cliente, CCC) であるか 検証するフォームフィールドです。正しい CCC 番号は、 EEEE-OOOO-CC-AAAAAAAAAA の形式であり、 E, O, C および A はそれぞれ組織、 支店、チェックサムおよび口座番号を示しています。チェックサムの上下の桁 は、それぞれ支店番号および口座番号のチェックサム値です。区切り文字にス ペースを使ってもよく、区切り文字がなくてもかまいません。 .. class:: es.forms.ESPhoneNumberField 入力が正しいスペインの電話番号であるか検証するフォームフィールドです。 正しい番号は、 9 桁からなり、先頭の番号は 6, 8, または 9 です。 .. class:: es.forms.ESPostalCodeField 入力が正しいスペインの郵便番号であるか検証するフォームフィールドです。 正しい番号は 5 桁の数字からなり、先頭の二桁が州を表す 01 から 52 の間の 値をとります。 .. class:: es.forms.ESProvinceSelect スペインの州名を選べる ``Select`` ウィジェットです。 .. class:: es.forms.ESRegionSelect スペインの領名を選べる ``Select`` ウィジェットです。 .. _`Switzerland (ch)`: Switzerland: スイス (``ch``) =============================== .. class:: ch.forms.CHIdentityCardNumberField 入力が正しいスイスの身分証明書番号であるか検証するフォームフィールドで す。正しい番号は、 X1234567<0 または 1234567890 の形式であり、正しいチェッ クサム値を持たねばなりません。 http://adi.kousz.ch/artikel/IDCHE.htm を 参照してください。 .. class:: ch.forms.CHPhoneNumberField 入力が正しいスイスの電話番号であるか検証するフォームフィールドです。正 しい電話番号の形式とは、 0XX XXX XX XX, 0XX.XXX.XX.XX, および 0XXXXXXXXX です。番号は 0XX XXX XX XX 形式に正規化されます。 .. class:: ch.forms.CHZipCodeField 入力が正しいスイスのZIPコードであるかフォームフィールドです。正しいコー ドは 4 桁からなります。 .. class:: ch.forms.CHStateSelect スイスの州名を選べる ``Select`` ウィジェットです。 .. _`United Kingdom (uk)`: United Kingdom: イギリス (``uk``) =================================== .. class:: uk.forms.UKPostcodeField 入力が正しいイギリスの郵便番号であるか検証するフォームフィールドです。 検証に使われている正規表現は、 http://www.govtalk.gov.uk/gdsc/schemas/bs7666-v2-0.xsd で定義されている British Standard BS7666 address types をもとにしていま す。 .. class:: uk.forms.UKCountySelect イギリスの地域名を選べる ``Select`` ウィジェットです。 .. class:: uk.forms.UKNationSelect イギリスの地方名を選べる ``Select`` ウィジェットです。 .. _`United States of America (us)`: United States of America: アメリカ合衆国 (``us``) =================================================== .. class:: us.forms.USPhoneNumberField 入力が正しいアメリカの電話番号であるか検証するフォームフィールドです。 .. class:: us.forms.USSocialSecurityNumberField 入力がアメリカの社会保障番号 (SSN) であるか検証するフォームフィールドで す。正しい SSN 番号は、以下の規則に従います: * XXX-XX-XXXX 形式であること * 0 ばかりでできた桁グループがないこと * 先頭の桁グループが 666 でないこと * 広報に使われるブロック (987-65-4320 から 987-65-4329) の範囲内で ないこと * 広報で使われているために、明らかに無効であると知られている番号 (Woolworth 番号、または 1962 promotional number) でないこと .. class:: us.forms.USStateField 入力がアメリカの州名または州名略号であるか検証するフォームフィールドで す。入力を郵便向けの標準 2 文字州名略号に正規化します。 .. class:: us.forms.USZipCodeField 入力が正しいアメリカの郵便番号であるか検証するフォームフィールドです。 XXXXX または XXXXX-XXXX 形式の番号が有効です。 .. class:: us.forms.USStateSelect アメリカの州や領を選べる ``Select`` ウィジェットです。 .. class:: us.models.PhoneNumberField 入力がアメリカ合州国の電話番号形式 (``XXX-XXX-XXXX``) に従っているかを チェックする :class:`CharField` です。 .. class:: us.models.USStateField アメリカ合州国の州名を二文字の略号でデータベースに保存するモデルフィー ルドです。 ``forms.USStateField`` モデルフィールドとして表示されます。