どのようにDjangoでフォームデータを処理しますか?
通常在Django中处理表单数据会涉及以下几个步骤:
- フォームクラスの定義:まず、Djangoから継承したFormクラスのフォームクラスを定義する必要があります。このフォームクラスには収集する必要のあるフィールドと関連するバリデーションルールが含まれています。
from django import forms
class MyForm(forms.Form):
name = forms.CharField(max_length=100)
email = forms.EmailField()
- ビュー関数内でフォームインスタンスを作成し、リクエストデータをフォームインスタンスに渡す。
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():
# 处理有效数据
name = form.cleaned_data.get('name')
email = form.cleaned_data.get('email')
else:
form = MyForm()
return render(request, 'my_template.html', {'form': form})
- HTMLテンプレート内で、Djangoのテンプレート言語を使用してフォームをレンダリングします。
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">提交</button>
</form>
- フォームデータを処理する際、ビュー関数内でform.cleaned_dataを使用して、検証済みデータを取得し、適切な処理を行うことができます。
表形データを処理する際には、データの有効性を確認する必要があります。form.is_valid()を使用してフォームデータの有効性を確認できます。同時に、Djangoには、フィールドの検証、フォームの検証、およびカスタム検証など、便利なフォーム検証機能も提供されていますので、必要に応じて使用してください。