DjangoのModelFormの使い方は何ですか?
Djangoにおいて、ModelFormはモデルに基づいてフォームを作成するために使用されます。ModelFormを使用する基本的な手順は以下の通りです:
- Django.forms.ModelFormを継承したフォームクラスを作成し、model属性を対応するモデルに指定します。
from django import forms
from myapp.models import MyModel
class MyModelForm(forms.ModelForm):
class Meta:
model = MyModel
fields = '__all__' # 或者指定需要的字段
- 画面でのフォームデータの処理にはModelFormを使用します。
from myapp.forms import MyModelForm
def my_view(request):
if request.method == 'POST':
form = MyModelForm(request.POST)
if form.is_valid():
form.save()
# 处理表单提交成功后的逻辑
else:
form = MyModelForm()
return render(request, 'my_template.html', {'form': form})
- モデルフォームのフォームフィールドをテンプレートで使用する:
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">提交</button>
</form>
以上の手順を経ることで、DjangoでModelFormを使用して、モデルに基づいたフォームを作成し、フォームデータの検証と保存を行うことができます。