ジャンゴの基礎〜フックを形成します

私たちはフックするフォームを構築する方法について話を簡単に紹介
を処理するように、カスタム認証メカニズムを実装するために2つの目標を
:三つのカテゴリー
    clean_を開始機能があるかどうかを調べるために、その後1部分フックclean_columnを(フィールド検証が完了したとき)、および名前があれば、それは関数を呼び出す
    (クリーン2グローバルフックを)原理は、チェックサムフィールドを完了した後、フィールド間チェックされます。フィールド検証が完了すると、関数の実行した場合、ルックアップ機能は、クリーンを持っているかどうかを 
    partialグローバルフックフックの実行順序を
三つの基本的な構文
    ValidationErrorをするdjango.core.exceptionsインポート、NON_FIELD_ERRORSから
    :DELFのclean_column(セルフ)
    値= self.cleaned_data。 ( 'キー')GET
    :IF trueに
    戻り値 
    :他 
   )(昇給ValidationErrorをします

四つオーバーライドクリーン()メソッド
    クリーン()メソッドではなく既定のプロセスフローのみcleaned_data返すある
5注
   1つのフィールドは、単一のメソッド指定
   フックに従って2が、上記の場合、例外が順に実行されていない直接スローされます以下のフック行う
   3クリーン()最も高い優先度
の例示的なシナリオ6
   1は、ユーザのプレゼンスに挿入されているが(部分的にフック)に許可されていない
     :DEFのclean_user(自己)
       USER1 = self.cleaned_data.get(「ユーザ」)
        ヴァル=ユーザー。 objects.filter(=ユーザーUSER1)
      未ヴァルた場合:
         ヴァル戻る
     :他の
         ValidationErrorを(「ユーザ名がすでに存在している」)昇給
        エラー{{}} field.errors表示に従って
   確認2と二次パスワード入力されたパスワード(グローバルフックを)

      DEFクリーン(セルフ):
        PWD = self.cleaned_data.get( "パスワード")
        PWD1 = self.cleaned_data.get( "password_1")
        PWD == PWD1 IF:
          返すself.cleaned_data
        他:
           昇給ValidationErrorを(「パスワードを二回矛盾」)
        のビューが機能
           g_error = form.errors.get(「__ __すべて 『)# このようにして得られたグローバルフックが情報与えられた 
        遠位
          {%filed.label場合==』パスワードを確認「%}
          {} {} g_error
          {%} ENDIF%

おすすめ

転載: www.cnblogs.com/danhuangpai/p/10984840.html