Django Formtools 使用指南
from django.forms import Form, IntegerField, fields
from django.forms.models import modelformset_factory
from django.http import HttpResponseRedirect
from django import forms
from django.shortcuts import render
# 定义一个简单的表单类
class SimpleForm(Form):
integer_field = IntegerField()
# 使用Formtools创建模型表单集
SimpleModelFormSet = modelformset_factory(MyModel, form=SimpleForm, extra=0)
def my_view(request):
if request.method == 'POST':
formset = SimpleModelFormSet(request.POST, queryset=MyModel.objects.none())
if formset.is_valid():
# 处理表单数据
return HttpResponseRedirect('/success/url/')
else:
formset = SimpleModelFormSet(queryset=MyModel.objects.none())
return render(request, 'my_template.html', {'formset': formset})
这段代码展示了如何在Django中使用Formtools库来创建一个模型表单集。首先定义了一个简单的表单类,然后使用modelformset_factory
来创建一个模型表单集。在视图函数中,我们根据请求方法处理表单提交,如果是POST请求,我们实例化表单集合并绑定请求数据,然后验证数据的有效性。如果数据有效,我们可以处理数据并重定向到成功页面。如果不是POST请求,我们则显示空的表单集供用户填写。这个例子展示了如何使用Formtools库来处理多个模型实例的表单提交。
评论已关闭