Ошибка шаблона Django - единственная опция для 'trans' - это 'noop' - PullRequest
4 голосов
/ 23 марта 2011

Это касается учебника по Django - Часть 2 http://docs.djangoproject.com/en/dev/intro/tutorial02/

В разделе, посвященном изменению шаблона для страницы администратора, я попытался изменить этот раздел на странице base_site.html.

{% trans'Администрация Django'%}

Когда я добавляю апостроф и s, я получаю сообщение об ошибке, что параметр TemplateSyntaxError в / admin / only для trans означает «noop»

Почему это так?Я думал, что смогу изменить название сайта.Я пытался использовать двойные кавычки и escape-последовательность, но это не сработало.

Ответы [ 2 ]

6 голосов
/ 23 марта 2011

Я пытался использовать двойные кавычки и escape-последовательность, но это не сработало.

Это определенно проблема.Это единственная проблема, которая указана в сообщении об ошибке!

Вы уверены, что нет других мест, где вы это сделали?

Должно быть:

{% trans "Django's administration" %}

Сообщения об ошибках существуют только для тега "trans" и появляются, если в теге есть какой-либо другой аргумент, который не является noop.

2 голосов
/ 11 апреля 2013

Проблема заключается во второй одинарной кавычке:

{% trans 'Django's administration' %}

Джанго рассматривает все после этого как аргумент.Поскольку единственный аргумент, который он принимает, это noop, это вызывает ошибку.

Один из способов обойти это - сделать то, что предложил Томи Юджи «Томита», и заключить строку перевода в двойные кавычки.

Другой способ - использовать тег blocktrans :

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

Поскольку вы не используете кавычки для обозначения текста, который необходимо перевести, это не приведет кта же проблема, что и у тега trans.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...