DjangoでHTMLフォームの作成と処理方法


  1. フォームの作成:

    • Djangoのformsモジュールを使用して、フォームを作成します。forms.pyファイルを作成し、フォームのフィールドを定義します。例えば、名前とメールアドレスのフィールドを持つフォームを作成する場合、次のようになります:

      from django import forms
      class MyForm(forms.Form):
       name = forms.CharField(label='名前', max_length=100)
       email = forms.EmailField(label='メールアドレス')
  2. ビューの作成:

    • views.pyファイルを作成し、フォームを表示し、フォームのデータを処理するビューを定義します。例えば、フォームを表示し、送信されたデータを保存するビューを作成する場合、次のようになります:

      from django.shortcuts import render
      from .forms import MyForm
      def my_view(request):
       if request.method == 'POST':
           form = MyForm(request.POST)
           if form.is_valid():
               # フォームのデータを保存する処理を記述
               form.save()
       else:
           form = MyForm()
       return render(request, 'my_template.html', {'form': form})
  3. テンプレートの作成:

    • テンプレートファイル(例: my_template.html)を作成し、フォームを表示するためのHTMLコードを記述します。例えば、フォームの各フィールドと送信ボタンを含むHTMLフォームを作成する場合、次のようになります:

      <form method="post">
       {% csrf_token %}
       {{ form.as_p }}
       <button type="submit">送信</button>
      </form>

これらの手順に従うと、Djangoを使用してHTMLフォームを作成し、処理することができます。上記のコード例はシンプルな例ですが、より複雑なフォームの作成やデータの処理にも応用することができます。