2011-03-23 41 views
3

这是关于Django的教程 - 第2部分 http://docs.djangoproject.com/en/dev/intro/tutorial02/Django的模板错误 - 仅在选择“反式”是“空操作”

在更改管理页面模板的部分,我试图改变在本节base_site.html页面。

{%反式 'Django的管理' %}

当我添加的撇号和s,我GE的错误 - TemplateSyntaxError在/管理/ 唯一选择 '反式' 是 '空操作'

为什么这样?我认为我应该能够改变网站的名称。我尝试使用双引号和转义序列,但它没有奏效。

回答

5

我尝试过使用双引号和转义 顺序也,但它没有奏效。

这绝对是问题所在。这是错误消息指定的唯一问题!

你是积极的,没有其他地方你做过吗?

它应该是:

{% trans "Django's administration" %} 

的错误消息只存在变量“反式”,如果存在未空操作,标记任何其他的说法出现。

+0

谢谢。什么是noop? – Sumod 2011-03-23 20:01:04

+0

好问题(我不使用它)。下面是我刚才找到的最有用的解释,它为什么存在。 http://www.mail-archive.com/[email protected]/msg45027.html – 2011-03-23 23:39:39

1

的问题是第二个单引号:

{% trans 'Django's administration' %} 

Django是处理后的一切作为参数。作为它接受的唯一参数是noop,这是导致错误的原因。

解决此问题的一种方法是按照Yuji'Tomita'Tomita的建议进行操作,并将您的翻译字符串用双引号括起来。

另一种方法是使用blocktrans标签:

{% blocktrans %} 
Django's administration 
{% endblocktrans %} 

如果你还没有使用引号来表示它需要翻译的文本,这会不会遇到同样的问题,因为反式标签。