Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.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 - Fatal编程技术网

Django基于类视图中的两种形式

Django基于类视图中的两种形式,django,Django,我有两个模型,每个模型都有自己的形式 在模板页面中,我想显示两个表单。 但我可以看到,我们只能定义一个模型和形式 class TicketView(ObjectEditView): form_class = forms.FirstForm model = First def get(self, request, pk): first = get_object_or_404(First, pk = pk) return render(

我有两个模型,每个模型都有自己的形式

在模板页面中,我想显示两个表单。 但我可以看到,我们只能定义一个模型和形式

class TicketView(ObjectEditView):  
    form_class = forms.FirstForm
    model = First

    def get(self, request, pk):

        first = get_object_or_404(First, pk = pk)
        return render(request, 'my_folder/file.html', {
            'first': first,
            'form': self.form_class,
        })
但是我怎样才能通过我的第二个表格呢

form_classes = {forms.FirstForm, forms.SecondForm}
像这样的事情是可能的吗

在第一个表单的模板中,我可以通过

{% render_field form.comment %}

我也希望像这样显示第二个表单字段

您可以这样定义多个表单。当然,您需要像导入第一个表单一样导入第二个表单。在模板中,您将使用
{{form2}
。此表单的验证也需要单独进行

class TicketView(ObjectEditView):  
    form_class = forms.FirstForm
    form_class2 = forms.SecondForm
    model = First

    def get(self, request, pk):
        first = get_object_or_404(First, pk = pk)
        return render(request, 'my_folder/file.html', {
            'first': first,
            'form': self.form_class,
            "form2":self.form_class2
        })

如果您有问题或这不起作用,请留下评论:)

它的工作原理如何。现在只需要将当前值传递到html。例如,对于状态,我将获得下拉列表,但不会获得所选的当前值。我们必须对模型做些什么?这取决于您想做什么,但要显示表单,您不必这样做。为什么会出错?很好,谢谢。现在只需要将当前值传递到html。例如,对于状态,我将获得下拉列表,但不会获得所选的当前值。我们必须对模型做些什么?我不太确定你们需要/尝试做什么。通常,如果您想使用模型中的变量,您必须在视图中定义它们,就像我们刚才定义的“form2”一样,并在模板中使用
{{variableName}
。我建议问另一个问题或编辑你的问题,使其符合要求,但既然你的主要问题已经解决,那么正确的方法就是问另一个问题。只是你没有误解我的意思,我并不渴望得到分数,但如果你继续添加“子问题”,那么主要问题对其他用户来说就毫无用处了@user866933