Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.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
Python 如何将Django表单添加到wagtail块_Python_Django_Wagtail - Fatal编程技术网

Python 如何将Django表单添加到wagtail块

Python 如何将Django表单添加到wagtail块,python,django,wagtail,Python,Django,Wagtail,我想将表单添加到摇尾块。表单是一个带有提交按钮的简单下拉选择 class ExampleForm(forms.Form): example = forms.ModelChoiceField(queryset=Example.objects.all()) 然后wagtail块是一个简单的表,它是用get_context()生成的 但是你如何处理提交的表格和所有的事情呢?似乎wagtail带走了视图的概念,所以我不知道是否有可能做到这一点。如果有任何帮助,我们将不胜感激。最接近实际用途的视

我想将表单添加到摇尾块。表单是一个带有提交按钮的简单下拉选择

class ExampleForm(forms.Form):
    example = forms.ModelChoiceField(queryset=Example.objects.all())
然后wagtail块是一个简单的表,它是用get_context()生成的


但是你如何处理提交的表格和所有的事情呢?似乎wagtail带走了视图的概念,所以我不知道是否有可能做到这一点。如果有任何帮助,我们将不胜感激。

最接近实际用途的视图是。如果request.method==“POST”:等等,您可以在那里处理
。也许:

def serve(self, request):

    if request.method == 'POST':
        form = MyFormClass(request.POST)
        if form.is_valid():
            # process the form here...
            return HttpResponseRedirect(self.reverse_subpage('thanks'))

    else:
        form = MyFormClass()

    context = self.get_context(request)
    context['form'] = form
    return render(
        request,
        self.get_template(request),
        context
    )
或者,对于记录简单表单提交并为编辑修改表单提供UI的页面类型,Wagtail已经有了contrib模块。上面的代码在很大程度上是错误的


也可能相关的是,它允许您在不同的URL上对页面模型拥有多个“视图”。我在上面的代码中使用了这一点,并将其重定向到“谢谢”子页面。

出于实际目的,最接近视图的是。如果request.method==“POST”:
等等,您可以在那里处理
。也许:

def serve(self, request):

    if request.method == 'POST':
        form = MyFormClass(request.POST)
        if form.is_valid():
            # process the form here...
            return HttpResponseRedirect(self.reverse_subpage('thanks'))

    else:
        form = MyFormClass()

    context = self.get_context(request)
    context['form'] = form
    return render(
        request,
        self.get_template(request),
        context
    )
或者,对于记录简单表单提交并为编辑修改表单提供UI的页面类型,Wagtail已经有了contrib模块。上面的代码在很大程度上是错误的


也可能相关的是,它允许您在不同的URL上对页面模型拥有多个“视图”。我在上面的代码中将其用于重定向到“谢谢”子页面。

我刚刚注意到您想要将其添加到“块”,所以我猜您是在谈论Streamfield块。这排除了使用Form builder的可能性。我刚刚注意到您希望将其添加到“块”中,所以我猜您是在谈论Streamfield块。这排除了使用表单生成器的可能性。是否要在编辑界面的Streamfield块中添加“提交的表单”?或者,是否要从Streamfield中选择现有表单,并将其作为可提交表单显示在视图(live page)上?是否要在编辑界面的Streamfield块中添加“提交表单”?或者您是否希望从Streamfield中选择一个现有表单,并将其作为可提交表单显示在视图(live页面)上?