2.フォームコンポーネント用途

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(ユーザ名が存在しません

 

 

 

おすすめ

転載: www.cnblogs.com/fuyi2345/p/11404500.html