Django学習ノートのformフォーム


django formフォームの使用について:

  • formsを作成する.pyのファイルは、指定したappの中に置いて、中にフォームを書きます.
  • フォームはクラスによって実現され、formsから継承される.Form、検証するフィールドを定義します.
  • フォームでは、作成フィールドはモデルとそっくりですがnull=Trueやblank=Trueなどのパラメータはありません.required=True/Falseのパラメータもあります.
  • isを使用valid()メソッドは、ユーザがコミットデータが正当であるかどうかを検証することができ、HTMLフォーム要素のnameはdjangoのフォームのnameと一致しなければならない.そうしないと一致しない.
  • is_boundプロパティ:formがデータをバインドするかどうかを表すために使用され、バインドされている場合はTrueを返し、そうでない場合はFalseを返す.
  • cleaned_data:これはis_valid()がTrueに戻ると、ユーザから送信データが保存される.formsを作成する.pyのファイル、AddFormのクラスを作成する:
  • #/forms.py
    from django import forms
    
    class AddForm(forms.Form):
        first = forms.IntegerField()
        second = forms.IntegerField()
    #         ,             .
    #     views.py
    from .forms import AddForm
    
    def add_test(request):
        if request.method == 'GET':
            form = AddForm() # form   
            return render(request,'douban/add_test.html',
                          context={'form':form}
                          )
        elif request.method == 'POST':
            form = AddForm(request.POST) #   form    
            #        
            if form.is_valid():
                first = form.cleaned_data.get('first') # cleaned_data      
                second = form.cleaned_data.get('second')
                print(first,second)
                return HttpResponse(first+second)

    formフォームのパラメータの説明:max_length最大長min_length最小長widgetは、Webページ上のHTMLフォームの入力要素をレンダリングし、コミットされた元のデータattrsを抽出します.レンダリング後のWidgetが設定するHTMLプロパティerror_が含まれます.Messagesエラーメッセージ注:formはフロントエンドページを生成できますが、この機能は実際には少なく、主にformフォームの検証機能を使用しています.