Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 如何为两个相关模型制作一个表单?_Django_Validation_Django Models_Django Forms - Fatal编程技术网

Django 如何为两个相关模型制作一个表单?

Django 如何为两个相关模型制作一个表单?,django,validation,django-models,django-forms,Django,Validation,Django Models,Django Forms,我有两个模型,一个是用户模型,另一个是配置文件模型。现在我想制作一个表单,在注册期间验证并保存数据 我已经在一个表单标签中获得了这两个表单,并且我的视图通过request.POST接收数据,但是如何使表单验证工作 以下是我的看法- class IndexView(TemplateView): template_name = 'index.html' register_form = RegistrationForm(instance=User()) broker_profi

我有两个模型,一个是用户模型,另一个是配置文件模型。现在我想制作一个表单,在注册期间验证并保存数据

我已经在一个表单标签中获得了这两个表单,并且我的视图通过request.POST接收数据,但是如何使表单验证工作

以下是我的看法-

class IndexView(TemplateView):
    template_name = 'index.html'
    register_form = RegistrationForm(instance=User())
    broker_profile_form = BrokerProfileForm(instance=BrokerProfile())

    def get(self, request, *args, **kwargs):
        user_type_form = UserTypeForm()


        return render(request, self.template_name,
                      {
                       'login_form': self.register_form,
                       'broker_profile_form': self.broker_profile_form,
                      }
        )


    def post(self, request, *args, **kwargs):
        print 'post data'
        print request.POST
        print self.register_form.is_valid()
        for field in self.register_form:
            print field.errors

首先,阅读以下类似问题的答案:并使用前缀

Second,当使用
post
点击视图时,您应该从请求中获得
表单。否则,您将永远无法从请求中获取数据

Class IndexView(TemplateView):
    template_name = 'index.html'

    def get(self, request, *args, **kwargs):
        form1 = MyFormClass(prefix='some_prefix_1')
        form2 = MyFormClass(prefix='some_prefix_2')
        return render(request, self.template_name,
                      {
                       'form1': form1,
                       'form2': form2
                      }
        )


    def post(self, request, *args, **kwargs):
        form1 = MyFormClass(request.POST, prefix='some_prefix_1')
        for field in form1:
            ...

请阅读其他帖子:@Bilou06我在模板中显示错误时遇到问题是的,我已经这样做了,我能够访问帖子数据,我也能够保存它。但我无法发回任何错误信息。我不确定你的问题。是表单验证吗?