模板继承中的Django国际化

时间:2014-04-05 16:58:02

标签: python django django-templates

我正在做一个Django应用程序,我只想拥有翻译的页面标题。使用Django模板机制,我有一个base.html,它起始于:

<!DOCTYPE html>

{% load staticfiles %}
{% load i18n %}

<html>
  <head>
    <title>MyProject - {% block title %}Welcome{% endblock title %}</title>

...

现在,对于我的&#34;关于&#34;页面,我想扩展基础。因此我的about.html看起来像:

{% extends 'myproject/base.html' %}

{% load staticfiles %}
{% load i18n %}

{% block title %}{{ title }}{% endblock %}

....

这是我开始困惑的地方。当然{{ title }}是一个变量,可以在我views.py的代码中翻译:

from django.utils.translation import ugettext as _
def about(request):
  context = RequestContext(request)
  context_dict = {'title': _("About")}
  return render_to_response('myproject/about.html', context_dict, context)

除非它不起作用。当然,我删除了浏览器缓存,重新处理makemessages和compilemessages以及所有这些东西。有些事情我不明白。更改{{ title }}的{​​{1}}也不起作用,也不会{% trans title %}。我根本就没有得到它。我应该在其他地方完全翻译我的头衔吗?这个简单的问题必须有一个更简单的解决方案,不是吗?也许我错了。

任何提示,建议或解决方案都将不胜感激。先谢谢了。

0 个答案:

没有答案