[Django]フォーム


概要

  • は、ユーザの情報を収集し、サーバに送信するために使用される
  • テキストボックス、チェックボックスなど多種の部品
  • クロスサイト要求偽造防止サポート
  • プロセス


  • https://developer.mozilla.org/ko/docs/Learn/Server-side/Django/Forms
  • 初回要求
  • デフォルトフォーム
  • でなければ
  • 検証
  • 有効時
  • 要求処理
  • 直通
  • でなければ
  • デフォルトフォーム
  • Form vs Model Form

  • Form
  • ダイレクトフィールド定義
  • 部材
  • を設ける必要がある.
  • Model Form
  • のモデルとフィールドを指定すると、フィールド
  • が自動的に作成されます.

    定義(Form)

  • forms.Formクラス継承
  • clean data属性
  • プロパティの定義
  • モデルに類似する
  • Boolean Field、CharField等
  • 関数の定義
  • 有効性検査
  • clean<フィールド名>()再定義
  • self.cleane dataチェックを受け、
  • に戻ります.
  • エラー発生時ValidationError
  • 使用

  • 初回要求
  • 基本フォームインスタンス
    book_renewal_form = RenewBookForm()
  • の作成
  • でなければ
  • データ
    book_renewal_form = RenewBookForm(request.POST)
  • を挿入する.
  • 検証
  • (フォームインスタンス).is_valid()
  • 有効時フォーム.clean data[「key」]を受信して
  • リクエストを処理

    テンプレートの作成

    <form action="" method="post">
        {% csrf_token %}
        {{ form.as_table }}
        <input type="submit" value="Submit">
    </form>