微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在表单向导的特定步骤中同时使用 django 模型表单集和表单向导?

如何解决如何在表单向导的特定步骤中同时使用 django 模型表单集和表单向导?

我不明白如何在表单向导步骤中使用表单集,但我覆盖了 get_context_data() 以在 'camp/create-camp_1.html' 中传递表单集,这是我的第 2 步。

我的views.py

ImageFormSet = modelformset_factory(model=Camp,fields=('video',),form=CampForm2,extra=1)

class CampWizardView(SessionWizardView):
    FORMS = [('0',CampForm1),('1',CampForm2),(2,CampForm3),(3,CampForm4)]
    TEMPLATES = {'0': 'camp/create-camp_0.html','1': 'camp/create-camp_1.html','2': 'camp/create-camp_2.html','3': 'camp/create-camp_3.html'}
    file_storage = FileSystemStorage(location=os.path.join(settings.MEDIA_ROOT,'camp'))
    form_list = [CampForm1,CampForm2,CampForm3,CampForm4]


    def get_template_names(self):
        return [self.TEMPLATES[self.steps.current]]

    def get_context_data(self,form,**kwargs):
        context = super(CampWizardView,self).get_context_data(form)
        context['formset'] = ImageFormSet()
        return context


class ContactWizard(LoginrequiredMixin,CampWizardView):

    def done(self,form_list,**kwargs):
        formset = ImageFormSet(self.request.POST,self.request.FILES)
        camp = Camp(**self.get_all_cleaned_data())
        camp.host = self.request.user
        camp.save()
        camp.tags.set(self.get_all_cleaned_data().get('tags'))
        return redirect(reverse_lazy("camp:camp_list"))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。