如何更改Wagtail的默认语言?

时间:2020-10-30 00:01:17

标签: python-3.x django django-rest-framework wagtail

我正在使用无头的g,并且想要将默认的后端语言更改为葡萄牙语(pt-pt)。 在wagtail's docs之后:

# settings.py

USE_I18N = True

LANGUAGE_CODE = "pt-pt"

然后为什么我尝试发布页面,却出现以下错误:

环境:

请求方法:POST请求URL: http://127.0.0.1:8000/admin/pages/11/edit/

Django版本:3.1.2 Python版本:3.9.0安装的应用程序: [“首页”,“搜索”,“新闻”,“ about_us”,“产品”,“仪表板”, 'wagtail_headless_preview','wagtail.contrib.forms', 'wagtail.contrib.redirects','wagtail.embeds','wagtail.sites', 'wagtail.users','wagtail.snippets','wagtail.documents', 'wagtail.images','wagtail.search','wagtail.admin', 'wagtail.core','wagtail.api.v2','modelcluster','taggit', 'django.contrib.admin','django.contrib.auth', 'django.contrib.contenttypes','django.contrib.sessions', 'django.contrib.messages','django.contrib.staticfiles', 'rest_framework','corsheaders']已安装的中间件: ['django.middleware.locale.LocaleMiddleware', 'corsheaders.middleware.CorsMiddleware', 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'wagtail.contrib.redirects.middleware.RedirectMiddleware']

回溯(最近一次通话最近):文件“ C:\ Users \ diogo \ OneDrive- 特拉蒙斯蒙特阿尔索大学 Douro \ Marfon \ venv \ lib \ site-packages \ django \ core \ handlers \ exception.py”, 第52行,在内部 响应= get_response(请求)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ django \ core \ handlers \ base.py“, _get_response中的第195行 响应= wraped_callback(请求,* callback_args,** callback_kwargs)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ django \ views \ decorators \ cache.py“, 第49行,在 wrapped_view_func中 响应= view_func(request,* args,** kwargs)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ wagtail-2.11rc1-py3.9.egg \ wagtail \ admin \ urls_ init .py“, 170行,在包装器中 返回view_func(request,* args,** kwargs)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ wagtail-2.11rc1-py3.9.egg \ wagtail \ admin \ auth.py“, 179行,在装饰视图中 响应= view_func(request,* args,** kwargs)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ django \ views \ generic \ base.py”, 视线85 返回self.dispatch(request,* args,** kwargs)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ wagtail-2.11rc1-py3.9.egg \ wagtail \ admin \ views \ pages \ edit.py“, 第138行,正在派遣中 返回super()。dispatch(request)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ django \ views \ generic \ base.py”, 第116行,正在派遣中 返回处理程序(请求,* args,** kwargs)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ wagtail-2.11rc1-py3.9.egg \ wagtail \ admin \ views \ pages \ edit.py“, 第257行 返回self.form_valid(self.form)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes大学Aluro Douro \ Marfon \ venv \ lib \ site-packages \ wagtail-2.11rc1-py3.9。 egg \ wagtail \ admin \ views \ pages \ edit.py”, 第283行,在form_valid中 返回self.publish_action()文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes和Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ wagtail-2.11rc1-py3.9.egg \ wagtail \ admin \ views \ pages \ edit.py“, 第329行,在publish_action中 修订= self.page.save_revision(文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ wagtail-2.11rc1-py3.9.egg \ wagtail \ core \ models.py“, 第1385行,在save_revision中 self.full_clean()文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes e Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ wagtail-2.11rc1-py3.9.egg \ wagtail \ core \ models.py“, 1033行,full_clean super()。full_clean(* args,** kwargs)文件“ C:\ Users \ diogo \ OneDrive-Tras-os-Montes和Alto大学 Douro \ Marfon \ venv \ lib \ site-packages \ django \ db \ models \ base.py“,行 1390,干净整齐 引发ValidationError(errors)

异常类型:/ admin / pages / 11 / edit /处的ValidationError异常 值:{'locale':['id为1的语言环境实例不存在。']}

有什么建议吗?我还缺少一些额外的步骤吗?

1 个答案:

答案 0 :(得分:1)

您正在关注Wagtail 2.0中的文档,该文档已经过时了。 Wagtail 2.11的国际化支持文档(在撰写本文时尚未发布)可以在以下位置找到:https://docs.wagtail.io/en/latest/advanced_topics/i18n.html

As mentioned there,当您在设置文件中配置语言时,还需要在数据库中设置区域设置记录。这可以在数据迁移中完成,也可以通过启用wagtail.locales应用并通过管理员的“设置”->“区域设置”区域来完成:

INSTALLED_APPS = [
    # ...
    'wagtail.locales',
    # ...
]
相关问题