如何使用django的register.simple_tag和“as”?

时间:2012-04-12 21:36:02

标签: django templates

我真的搞砸了像

这样的东西
<p>{% trans "Visit our" %}<a href="{% url "help" %}">{% trans "help page" %}</a>

其中xurl是我的标签,如

@register.simple_tag(takes_context=True)
def xurl(context, view_name, *args, **kwargs):

据我所知,我可以在{%blocktrans%}中使用变量,所以对我来说很好的解决方案是以某种方式使用我的标签,如django的url标签,如

{% xurl "help" as help_url %}

然后在blocktrans中使用help_url变量。我不能使用@register.tag来使用“as”,因为我需要从上下文中获取当前语言。

1 个答案:

答案 0 :(得分:0)

“当使用新的i18n_patterns()辅助函数时,Django 1.4能够在URL模式中查找语言前缀。此外,现在可以使用ugettext_lazy()定义可翻译的URL模式。请参阅国际化:URL模式有关语言前缀以及如何国际化URL模式的更多信息。“

https://docs.djangoproject.com/en/dev/topics/i18n/translation/#url-internationalization