我一直在寻找修远为如何让使用较新的Django的基于类的观点方法在一个页面上显示两个独特的形式。
任何人都可以参考什么? 或者提供一个基本的例子。 谷歌是不是被我的“朋友”这一点。
我一直在寻找修远为如何让使用较新的Django的基于类的观点方法在一个页面上显示两个独特的形式。
任何人都可以参考什么? 或者提供一个基本的例子。 谷歌是不是被我的“朋友”这一点。
关键是,你甚至不必使用的一个FormView
的子类来处理形式。 你只需要添加机械手动处理的形式。 在你使用的情况下FormView
的子类,它只会处理且只有1个形式。 所以,如果你需要两种形式,你只需要手动处理的第二个。 我使用DetailView
作为基类只是为了显示你甚至不必从继承FormView
类型。
class ManualFormView(DetailView):
def get(self, request, *args, **kwargs):
self.other_form = MyOtherForm()
return super(ManualFormView, self).get(request, *args, **kwargs)
def post(self, request, *args, **kwargs):
self.other_form = MyOtherForm(request.POST)
if self.other_form.is_valid():
self.other_form.save() # or whatever
return HttpResponseRedirect('/some/other/view/')
else:
return super(ManualFormView, self).post(request, *args, **kwargs)
def get_context_data(self, **kwargs):
context = super(ManualFormView, self).get_context_data(**kwargs)
context['other_form'] = self.other_form
return context