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页面)上?