revision-up-to: | 11321 (1.1) |
---|
Python の「バッテリ入り (batteries included)」哲学に従って、 Django には様々
な国や文化のための有用なコードが付属しています。こうしたコードは
「localflavor アドオン」と呼ばれ、 django.contrib.localflavor
パッケー
ジに収められています。
localflavor
パッケージは、各国、各文化圏のコードを、
それぞれ ISO 3166 国別コード に従って名付けたサブパッケージにまとめてい
ます。
localflavor
アドオンの大部分は、
forms フレームワークから導出された、ローカライ
ズされたフォームコンポーネントで占められています。例えば、
USStateField
にはアメリカの州
名略号を検証する方法が組み込まれていますし、
FISocialSecurityNumber
は、フィ
ンランドの社会保障番号の検証方法が組み込まれています。
ローカライズコンポーネントは、サブパッケージを import するだけで使えます。 例えば、フランスの電話番号を入力するためのフィールドを生成したければ、以下 のようにします:
from django import forms
from django.contrib.localflavor.fr.forms import FRPhoneNumberField
class MyForm(forms.Form):
my_french_phone_no = FRPhoneNumberField()
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)
django.contrib.localfravor
パッケージ内には、 generic
というサブ
パッケージもあります。このパッケージは、複数の国や文化で便利なコードをまと
めています。現状では、このモジュールには、アメリカの標準をデフォルトとしな
い、 forms に基づいた日付や時刻の入力フィールド
が入っています。使い方を以下に示します:
from django import forms
from django.contrib.localflavor import generic
class MyForm(forms.Form):
my_date_field = generic.forms.DateField()
私達は、これからもローカルフレーバを充実させていきたいと考えています。ロー
カルフレーバに取り込みたいコードがあるなら、 チケットを作成 してください。
ローカルフレーバの作成でお願いしたいのは、文字列を Unicode リテラルで表現
(u'mystring'
) し、ファイルのエンコーディングに頼って指定しないで欲しい
ということです。既にあるローカルフレーバのコードが参考になるでしょう。
ar
)¶ar.forms.
ARDNIField
¶入力が正しい Documento Nacional de Identidad (DNI) であるか検証するフォー ムフィールドです。
ar.forms.
ARCUITField
¶入力が正しい Código Único de Identificación Tributaria (CUIT) 番号であ るかか検証するフォームフィールドです。
ar.forms.
ARProvinceSelect
¶アルゼンチンの州および自治領を選べる Select
ウィジェットです。
au
)¶au.forms.
AUPostCodeField
¶入力が正しいオーストラリアの郵便番号であるか検証するフォームフィールド です。
au.forms.
AUPhoneNumberField
¶入力がオーストラリアの電話番号であるか検証するフォームフィールドです。 有効な番号は 10 桁の数字からなります。
au.forms.
AUStateSelect
¶オーストラリアの州や領を選べる Select
ウィジェットです。
at
)¶at.forms.
ATZipCodeField
¶入力が正しいオーストリアの ZIP コードであるか検証するフォームフィールド です。
at.forms.
ATStateSelect
¶選択肢のリストにオーストリアの州が設定された Select
ウィジェット
です。
at.forms.
ATSocialSecurityNumberField
¶入力が正しいオーストリアの社会保障番号であるか検証するフォームフィール ドです。
br
)¶br.forms.
BRPhoneNumberField
¶入力が正しいブラジルの電話番号であるか検証するフォームフィールドです。 正しい形式は XX-XXXX-XXXX です。
br.forms.
BRZipCodeField
¶入力が正しいブラジルのZIPコードであるか検証するフォームフィールドです。 正しい形式はXXXXX-XXXです。
br.forms.
BRStateSelect
¶ブラジルの州や領を選べる Select
ウィジェットです。
ca
)¶ca.forms.
CAPhoneNumberField
¶入力が正しいカナダの電話番号であるか検証するフォームフィールドです。 正しい形式はXXX-XXX-XXXXです。
ca.forms.
CAPostalCodeField
¶入力が正しいカナダの郵便番号であるか検証するフォームフィールドです。 正しい形式はXXX XXXです。
ca.forms.
CAProvinceField
¶入力が正しいカナダの州名か、州名略号であるか検証するフォームフィールド です。
ca.forms.
CASocialInsuranceNumberField
¶入力が正しいカナダ社会保障番号 (SIN) であるか検証するフォームフィールド です。正しい SIN は、XXX-XXX-XXX の形式で、 Luhn mod-10 checksum 検証を通ります。
ca.forms.
CAProvinceSelect
¶カナダの州や領を選べる Select
ウィジェットです。
cl
)¶cl.forms.
CLRutField
¶入力が正しいチリ国民識別番号 (‘Rol Unico Tributario’ or RUT) であるか検 証するフォームフィールドです。正しい形式は XX.XXX.XXX-X です。
cl.forms.
CLRegionSelect
¶チリの地域 (Regiones) を選べる Select
ウィジェットです。
cz
)¶cz.forms.
CZPostalCodeField
¶入力が正しいチェコの郵便番号であるか検証するフォームフィールドです。 正しい形式は XXXXX または XXX XX で、各桁の文字は数字です。
cz.forms.
CZBirthNumberField
¶入力が正しいチェコの戸籍登録番号 (Czech Birth Number) であるか検証する フォームフィールドです。 正しい形式は XXXXXX/XXXX (スラッシュは省略可) です。
cz.forms.
CZICNumberField
¶入力が正しい Czech IC 番号か検証するフィールドです。
cz.forms.
CZRegionSelect
¶チェコの地域を選べる Select
ウィジェットです。
fi
)¶fi.forms.
FISocialSecurityNumber
¶入力が正しいフィンランド社会保障番号であるか検証するフォームフィールド です。
fi.forms.
FIZipCodeField
¶入力が正しいフィンランドのZIPコードであるか検証するフォームフィールドで す。正しいコードは 5 桁の数字からなります。
fi.forms.
FIMunicipalitySelect
¶フィンランドの市名 (municipality) を選べる Select
ウィジェットです。
fr
)¶fr.forms.
FRPhoneNumberField
¶入力が正しいフランスの電話番号であるか検証するフォームフィールドです。 正しい形式は、 0X XX XX XX XX, 0X.XX.XX.XX.XX, または 0XXXXXXXXX です。 入力は 0X XX XX XX XX 形式に正規化されます。
fr.forms.
FRZipCodeField
¶入力が正しいフランスのZIPコードであるか検証するフォームフィールドです。 正しいZIPコードは5桁の数字からなります。
fr.forms.
FRDepartmentSelect
¶フランスの県名 (department) を選べる Select
ウィジェットです。
de
)¶de.forms.
DEIdentityCardNumberField
¶入力が正しいドイツの身分保障番号 (Personalausweis) であるか検証するフォー ムフィールドです。正しい番号は XXXXXXXXXXX-XXXXXXX-XXXXXXX-X で、どの桁 グループもゼロだけで構成されていてはなりません。
de.forms.
DEZipCodeField
¶入力が正しいドイツのZIPコードであるか検証するフォームフィールドです。正 しいコードは5桁の数字からなります。
de.forms.
DEStateSelect
¶ドイツの州を選べる Select
ウィジェットです。
nl
)¶nl.forms.
NLPhoneNumberField
¶入力が正しいオランダの電話番号であるか検証するフォームフィールドです。
nl.forms.
NLSofiNumberField
¶入力が正しいオランダ社会保障番号 (SoFI/BSN) であるか検証するフォームフィー ルドです。
nl.forms.
NLZipCodeField
¶入力が正しいオランダのZIPコードであるか検証するフォームフィールドです。
nl.forms.
NLProvinceSelect
¶オランダの県 (province) を選べる Select
ウィジェットです。
is_
)¶is_.forms.
ISIdNumberField
¶入力が正しいアイスランドの身分証明番号 (kennitala) であるか検証するフォー ムフィールドです。形式は XXXXXX-XXXX です。
is_.forms.
ISPhoneNumberField
¶入力が正しいアイスランド電話番号 (7 桁の数字で、最初の3桁以後にハイフン やスペースが入っていてもよい) であるか検証するフォームフィールドです。
is_.forms.
ISPostalCodeSelect
¶アイスランドの郵便番号を選べる Select
ウィジェットです。
in_
)¶in.forms.
INStateField
¶入力が正しいインドの州・領名または略号であるか検証するフォームフィール ドです。入力は車両番号登録に使われる標準の 2 文字略号形式に正規化されま す。
in.forms.
INZipCodeField
¶入力が正しいインドのZIPコードであるか検証するフォームフィールドです。形 式は XXXXXXX です。
in.forms.
INStateSelect
¶インドの州や領を選べる Select
ウィジェットです。
it
)¶it.forms.
ITSocialSecurityNumberField
¶入力が正しいイタリア社会保障番号 (codice fiscale) であるか検証する フォームフィールドです。
it.forms.
ITVatNumberField
¶入力が正しいイタリアの VAT 番号 (partita IVA) であるか検証するフォーム フィールドです。
it.forms.
ITZipCodeField
¶入力が正しいイタリアのZIPコードであるか検証するフォームフィールドです。 正しいコードは 5 桁の数字です。
it.forms.
ITProvinceSelect
¶イタリアの県 (province) を選べる Select
ウィジェットです。
it.forms.
ITRegionSelect
¶イタリアの地域名 (region) を選べる Select
ウィジェットです。
jp
)¶jp.forms.
JPPostalCodeField
¶入力が正しい日本の郵便番号であるか検証するフォームフィールドです。7 桁 の数字で、ハイフンはあってもなくても構いません。
jp.forms.
JPPrefectureSelect
¶日本の県を選べる Select
ウィジェットです。
no
)¶no.forms.
NOSocialSecurityNumber
¶入力が正しいノルウェー社会保証番号 (personnummer) であるか検証するフォー ムフィールドです。
no.forms.
NOZipCodeField
¶入力が正しいノルウェーのZIPコードであるか検証するフォームフィールドです。 正しいコードは 4 桁の数字です。
no.forms.
NOMunicipalitySelect
¶ノルウェーの市名 (municipality, fylker) を選べる Select
ウィジェッ
トです。
pe
)¶pe.forms.
PEDNIField
¶入力が正しいペルー国民識別番号 (DNI) であるか検証するフォームフィールド です。
pe.forms.
PERUCField
¶入力が正しい納税登録番号 (Registro Unico de Contribuyentes, RUC) である か検証するフォームフィールドです。正しい RUC 番号は 11 桁の数字形式です。
pe.forms.
PEDepartmentSelect
¶ペルーの県 (department) を選べる Select
ウィジェットです。
pl
)¶pl.forms.
PLNationalBusinessRegisterField
¶入力が正しいポーランド法人登記番号 (REGON) であるか検証するフォームフィー ルドです。REGON は 7 桁または 9 桁の数字で、 http://wipos.p.lodz.pl/zylla/ut/nip-rego.html のチェックサムアルゴリズ ムに従います。
pl.forms.
PLPostalCodeField
¶入力が正しいポーランドの郵便番号であるか検証するフォームフィールドです。 正しい郵便番号は XX-XXX 形式の数字です。
pl.forms.
PLTaxNumberField
¶入力が正しいポーランド納税者番号 (NIP) であるか検証するフォームフィール ドです。正しい形式は XXX-XXX-XX-XX または XX-XX-XXX-XXX です。NIP に使 われるチェックサムアルゴリズムは http://wipos.p.lodz.pl/zylla/ut/nip-rego.html で定義されています。
pl.forms.
PLAdministrativeUnitSelect
¶ポーランドの行政単位 (administrative unit) を選べる Select
ウィジェッ
トです。
pl.forms.
PLVoivodeshipSelect
¶ポーランドの郡 (voivodeship, 行政州) を選べる Select
ウィジェットで
す。
ro
)¶ro.forms.
ROCIFField
¶入力が正しいルーマニア社会保障番号 (CIF) であるか検証するフォームフィー
ルドです。入力の先頭に RO
がついていた場合、戻り値からは除去します。
ro.forms.
ROCNPField
¶入力が正しいルーマニア個人番号 (CNP) であるか検証するフォームフィールド です。
ro.forms.
ROCountyField
¶入力をルーマニアの地域 (judet) またはその略号として検証するフォームフィー
ルドです。このフィールドは、入力値の示す地域名を、標準の車両登録番号で
使われる略号に正規化して返します。このフィールドは、分音符号で書かれた
名前しか解釈できません。正しい値を入力させるのが難しいときは、
ROCountySelect
の利用を検討してください。
ro.forms.
ROCountySelect
¶ルーマニアの地域 (judete) を選べる Select
ウイジェットです。
ro.forms.
ROIBANField
¶入力がルーマニア国際銀行の正しい口座番号であるか検証するフォームフィー ルドです。正しい口座番号の形式は ROXX-XXXX-XXXX-XXXX-XXXX-XXXX で、ハイ フンはあってもなくてもかまいません。
ro.forms.
ROPhoneNumberField
¶入力が正しいルーマニアの電話番号であるか検証するフォームフィールドです。 このフィールドは、いくつかの特殊な番号を排除します。
ro.forms.
ROPostalCodeField
¶入力が正しいルーマニアの郵便番号であるか検証するフォームフィールドです。
sk
)¶sk.forms.
SKPostalCodeField
¶入力が正しいスロバキアの郵便番号であるか検証するフォームフィールドです。 正しい番号は、 XXXXX または XXX XX の形式をとります。
sk.forms.
SKDistrictSelect
¶スロバキアの州 (district) を選べる Select
ウィジェットです。
sk.forms.
SKRegionSelect
¶スロバキアの地域 (region) を選べる Select
ウィジェットです。
za
)¶za.forms.
ZAIDField
¶入力が正しい南アフリカ身分証明番号であるか検証するフォームフィールドで す。検証では、 Luhn チェックサムと、簡単な (完全に厳密ではない) 誕生日 のチェックを行います。
za.forms.
ZAPostCodeField
¶入力が正しい南アフリカの郵便番号であるか検証するフォームフィールドです。 正しい郵便番号は 4 桁からなります。
es
)¶es.forms.
ESIdentityCardNumberField
¶入力が正しいスペインの NIF/NIE/CIF (納税者識別番号) であるか検証するフォー ムフィールドです。
es.forms.
ESCCCField
¶入力が正しいスペイン銀行口座番号 (Codigo Cuenta Cliente, CCC) であるか 検証するフォームフィールドです。正しい CCC 番号は、 EEEE-OOOO-CC-AAAAAAAAAA の形式であり、 E, O, C および A はそれぞれ組織、 支店、チェックサムおよび口座番号を示しています。チェックサムの上下の桁 は、それぞれ支店番号および口座番号のチェックサム値です。区切り文字にス ペースを使ってもよく、区切り文字がなくてもかまいません。
es.forms.
ESPhoneNumberField
¶入力が正しいスペインの電話番号であるか検証するフォームフィールドです。 正しい番号は、 9 桁からなり、先頭の番号は 6, 8, または 9 です。
es.forms.
ESPostalCodeField
¶入力が正しいスペインの郵便番号であるか検証するフォームフィールドです。 正しい番号は 5 桁の数字からなり、先頭の二桁が州を表す 01 から 52 の間の 値をとります。
es.forms.
ESProvinceSelect
¶スペインの州名を選べる Select
ウィジェットです。
es.forms.
ESRegionSelect
¶スペインの領名を選べる Select
ウィジェットです。
ch
)¶ch.forms.
CHIdentityCardNumberField
¶入力が正しいスイスの身分証明書番号であるか検証するフォームフィールドで す。正しい番号は、 X1234567<0 または 1234567890 の形式であり、正しいチェッ クサム値を持たねばなりません。 http://adi.kousz.ch/artikel/IDCHE.htm を 参照してください。
ch.forms.
CHPhoneNumberField
¶入力が正しいスイスの電話番号であるか検証するフォームフィールドです。正 しい電話番号の形式とは、 0XX XXX XX XX, 0XX.XXX.XX.XX, および 0XXXXXXXXX です。番号は 0XX XXX XX XX 形式に正規化されます。
ch.forms.
CHZipCodeField
¶入力が正しいスイスのZIPコードであるかフォームフィールドです。正しいコー ドは 4 桁からなります。
ch.forms.
CHStateSelect
¶スイスの州名を選べる Select
ウィジェットです。
uk
)¶uk.forms.
UKPostcodeField
¶入力が正しいイギリスの郵便番号であるか検証するフォームフィールドです。 検証に使われている正規表現は、 http://www.govtalk.gov.uk/gdsc/schemas/bs7666-v2-0.xsd で定義されている British Standard BS7666 address types をもとにしていま す。
uk.forms.
UKCountySelect
¶イギリスの地域名を選べる Select
ウィジェットです。
uk.forms.
UKNationSelect
¶イギリスの地方名を選べる Select
ウィジェットです。
us
)¶us.forms.
USPhoneNumberField
¶入力が正しいアメリカの電話番号であるか検証するフォームフィールドです。
us.forms.
USSocialSecurityNumberField
¶入力がアメリカの社会保障番号 (SSN) であるか検証するフォームフィールドで す。正しい SSN 番号は、以下の規則に従います:
- XXX-XX-XXXX 形式であること
- 0 ばかりでできた桁グループがないこと
- 先頭の桁グループが 666 でないこと
- 広報に使われるブロック (987-65-4320 から 987-65-4329) の範囲内で ないこと
- 広報で使われているために、明らかに無効であると知られている番号 (Woolworth 番号、または 1962 promotional number) でないこと
us.forms.
USStateField
¶入力がアメリカの州名または州名略号であるか検証するフォームフィールドで す。入力を郵便向けの標準 2 文字州名略号に正規化します。
us.forms.
USZipCodeField
¶入力が正しいアメリカの郵便番号であるか検証するフォームフィールドです。 XXXXX または XXXXX-XXXX 形式の番号が有効です。
us.forms.
USStateSelect
¶アメリカの州や領を選べる Select
ウィジェットです。
us.models.
PhoneNumberField
¶入力がアメリカ合州国の電話番号形式 (XXX-XXX-XXXX
) に従っているかを
チェックする CharField
です。
us.models.
USStateField
¶アメリカ合州国の州名を二文字の略号でデータベースに保存するモデルフィー
ルドです。 forms.USStateField
モデルフィールドとして表示されます。
Oct 26, 2017