1.フロントエンドに検証用データ
2. HTMLタグページを生成します
3.パスワードをクリアし、前のエントリを残します
フォームクラスを作成します。
ジャンゴインポートフォームの クラスのUserInfo(forms.Form): ユーザー = forms.CharField(max_lengthを= 32 ) 年齢 = forms.InterField() 電子メール = forms.EmailField()
使用
FM = UserInfor({ "ユーザ": "FU"、 "年齢":20、 "電子メール": "[email protected]"})
データが有効であるかどうかを確認してください:()fm.is_vaildはTrueとFalseを返します
GET値を持つユーザー、年齢、電子メールを取得します。)(すべての合法的なデータRET = fm.cleaned_dataを見ます
不正なデータを表示し、理由のRET = fm.error()
フォームのレンダリングラベル
1. {{fm.as_pは}}すべてのフォームをレンダリング
2. {{fm.user}}、{{fm.age}}フォーム強い制御を指定するレンダリング、ラベル属性が形式{{fm.user.label}}でクラスを指定します
3.書き込みサイクルを依存しています
{FMの%でHM用%} {{hm.label}}、{{FM}} 、{{hm.error}} {%ENDFOR%}
ビュー機能は、正しいチェックデータは、FM = fm.cleaned_dataの受信チップに格納()
次回の入力は再び正しいデータを入力していません
フォームタグは、CSSスタイルを追加します。
ジャンゴインポートフォーム
クラスのUserInfo(forms.Form):
MSG = { "必須": "改字段不能为空"} ユーザー = forms.CharField(MAX_LENGTH = 32 )
年齢 = forms.InterField()
メール = forms.EmailField( ウィジェット = widgets.TextInput(ATTRS = { ' クラス':'フォームコントロール' })、
ラベル= "邮箱"、
ERROR_MSG = MSG、
初期= "默认值"
)
デフォルトのレンダリング時にエラーが表示されたときにCSSスタイルのBTNを電子メールで送信するためにここにラベルを追加し、フィールドが空であります
フック
ジャンゴインポートフォーム
from django.core.exceptions import ValidationError
#ログインフォーム
クラスUserInfoForm(forms.Form):
ユーザー = forms.charField(MAX_LENGTH = 32 )
パスワード = forms.CharField(MAX_LENGTH = 32 )
メールで = forms.EmailField()
DEFのclean_user(セルフ):
ユーザー = self.cleaned_data。 (GET 「利用者」)
RET = UserInfo.objects.filterを(ユーザー=ユーザー)#は、データベース内のデータを見つけた
のIF RET:
リターンRET
他:
昇給 validateError(「ユーザ名が存在しません」)