Wagtail Form Builder不支持翻译?

时间:2017-04-26 16:09:17

标签: django wagtail

对于我的部分网页模型,我使用了here概述的wagtail翻译。他们按预期工作。我通过form builder添加表单我可以通过网址www.domain.com/slug访问表单但是当我填写它时,网址会重定向到无网址。同样在管理员中,如果我单击LIVE按钮,它也会指向None url。

我认为它与未被连接到翻译有关,因为默认情况下,这是在页面的提升面板中为每种语言添加url slug。所以我将表单模型连接到翻译,内容面板正在获得正确的翻译,但是促销面板仍然只接收一个slug字段。不同语言没有其他字段。

“实况”按钮仍然显示“无”,当我在页面上提交表单时,它会重定向到“无”页面并显示错误。同样,我翻译的所有其他页面都按预期工作。

我假设Wagtail表格并不完全支持翻译。像这样的国际化,它是一个全有或全无的交易?我不能在翻译情况之外留下表格吗?

1 个答案:

答案 0 :(得分:1)

因此,在更多地检查了问题之后,我不得不将Page导入AbstractEmailForm类以使其工作。这是从Wagtail文档中获取的内容以及添加Page in。

from modelcluster.fields import ParentalKey
from wagtail.wagtailadmin.edit_handlers import (
    FieldPanel, FieldRowPanel,
    InlinePanel, MultiFieldPanel
)
from wagtail.wagtailcore.models import Page
from wagtail.wagtailcore.fields import RichTextField
from wagtail.wagtailforms.models import AbstractEmailForm, AbstractFormField


class FormField(AbstractFormField):
    page = ParentalKey('FormPage', related_name='form_fields')


class FormPage(AbstractEmailForm, Page):
    intro = RichTextField(blank=True)
    thank_you_text = RichTextField(blank=True)

    content_panels = AbstractEmailForm.content_panels + [
        FieldPanel('intro', classname="full"),
        InlinePanel('form_fields', label="Form fields"),
        FieldPanel('thank_you_text', classname="full"),
        MultiFieldPanel([
            FieldRowPanel([
                FieldPanel('from_address', classname="col6"),
                FieldPanel('to_address', classname="col6"),
            ]),
            FieldPanel('subject'),
        ], "Email"),
    ]

Wagtail翻译需要使用Page来更改URL。这解决了无问题。