2011-03-23 22 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 %} 

如果你還沒有使用引號來表示它需要翻譯的文本,這會不會遇到同樣的問題,因爲反式標籤。