对于我的部分网页模型,我使用了here概述的wagtail翻译。他们按预期工作。我通过form builder添加表单我可以通过网址www.domain.com/slug访问表单但是当我填写它时,网址会重定向到无网址。同样在管理员中,如果我单击LIVE按钮,它也会指向None url。
我认为它与未被连接到翻译有关,因为默认情况下,这是在页面的提升面板中为每种语言添加url slug。所以我将表单模型连接到翻译,内容面板正在获得正确的翻译,但是促销面板仍然只接收一个slug字段。不同语言没有其他字段。
“实况”按钮仍然显示“无”,当我在页面上提交表单时,它会重定向到“无”页面并显示错误。同样,我翻译的所有其他页面都按预期工作。
我假设Wagtail表格并不完全支持翻译。像这样的国际化,它是一个全有或全无的交易?我不能在翻译情况之外留下表格吗?
答案 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。这解决了无问题。