Django Translations - 如何高效地完成工作?

时间:2015-11-20 17:25:56

标签: python django

我有一个apphook集成到django cms页面。显示应用模型中的动态内容。

现在我想根据网址定义的语言将不同的字段传递给模板,例如www.mysite.com/en/

我的示例模型:

class Entry(models.Model):
    description_de = models.CharField(max_length=30, default='')
    description_en = models.CharField(max_length=30, default='')

我的示例视图:

def list(request):
    entry = Entry.objects.get(pk=1)
    description = entry.description_de
    return render(request, 'name.html', {'description': description})

现在我想在视图中检测语言(来自请求?)并以正确的语言将字段传递给模板。我怎么能这样做?

或者您建议更有效的解决方案?

1 个答案:

答案 0 :(得分:1)

您可以在视图中使用request.LANGUAGE_CODE检测语言

def list(request):
    lang = request.LANGUAGE_CODE
    entry = Entry.objects.get(pk=1)
    description = getattr(entry, 'description_%s' % lang)
    return render(request, 'name.html', {'description': description})

您可以考虑将modeltranslation用于此用例