【发布时间】:2019-09-22 18:42:54
【问题描述】:
我正在尝试在django-translated-fields 的帮助下实现一个多语言 Django 网站。
我正在进行的项目基于cookiecutter-django 和 Docker。
翻译适用于我的模型字段 - 除了 slug 字段。实际上 slug 的翻译也可以,但我无法使用 slug 字段来获取一个条目。
投票模型摘录:
class Voting(models.Model):
slug = TranslatedField(
models.SlugField(
max_length=80,
unique=True,
verbose_name="Voting URL slug",
blank=True
),
{
"de": {"blank": True},
"fr": {"blank": True},
"it": {"blank": True},
"rm": {"blank": True},
"en": {"blank": True},
},
)
项目完整投票模型可见here。
观点摘录:
def voting(request, slug):
voting = get_object_or_404(Voting, slug=slug)
context = {
'voting': voting
}
return render(request, 'votes/single.html', context)
全图可见here
由于 Django 翻译的字段创建了slug_en、slug_de 等等,我找不到相应语言的解决方案。
这应该很明显,因为 Django 翻译字段的文档说:
实际上没有创建模型字段。 TranslatedField 实例是一个描述符,默认情况下充当当前语言字段的属性。
不幸的是,无论如何都没有得到它。知道如何更改投票模型以获取特定语言的条目吗?
【问题讨论】:
标签: django django-models django-views django-translated-fields