我正在做一个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 %}
。我根本就没有得到它。我应该在其他地方完全翻译我的头衔吗?这个简单的问题必须有一个更简单的解决方案,不是吗?也许我错了。
任何提示,建议或解决方案都将不胜感激。先谢谢了。