如何在Django中解析包含“trans”标签的字符串作为模板?

时间:2011-07-24 19:01:56

标签: python django django-templates translation

我正在尝试从字符串创建动态模板(我知道,动态模板是矛盾的)但我遇到了{% trans %}标签的问题。如果字符串包含:

{% trans %}Hello{% endtrans %}

然后当我这样做时:

    context = RequestContext(request, data)
    template = Template(text)
    out_text = template.render(context)

我收到内部服务器错误。我已经尝试将{% load i18n %}添加到字符串中,但这没有用。我需要做些什么来使字符串可翻译?它与html文件工作正常,但我无法使用字符串。如果我取出trans标签,它会很好地解析模板字符串。

1 个答案:

答案 0 :(得分:0)

你确定这个模板是由Jinja而不是Django加载和解析的吗?

我在我的Django项目中通过Coffin使用Jinja2,并且在没有Coffin参与的情况下加载模板时总是会出现错误。

首先检查哪个加载程序找到了模板。是Coffin / Jinja one还是Django装载机?如果它是由Django发现的,它将由Django解析,它不知道如何处理{%trans%} {%endtrans%}块。