Подтвердить что ты не робот

Теги Django trans и url

Я хочу перевести абзац, содержащий URL-адрес в приложении Django 1.3.

<p>
    First <a href="{% url edit-profile username=user.username %}">edit your profile</a>, please.
</p>

В зависимости от языка текст, окруженный тегами <a>, обязательно изменится. Как я могу позволить переводчикам принять решение о размещении ссылок? Обертка всего объекта в {% trans %} вызывает ошибку:

<p>{% trans "First <a href='{% url edit-profile username=user.username %}'>edit your profile</a>, please." %}</p>

Выброшенная ошибка: TemplateSyntaxError: Searching for value. Unexpected end of string in column 64: trans "First <a href='{% url edit-profile username=user.username.

Как мне это сделать? Должен ли я определить URL-адрес в представлении, а затем передать этот URL-адрес в виде строки в шаблон? Это похоже на действительно запутанное решение, поскольку я думаю, что это очень распространенная проблема.

4b9b3361

Ответ 1

Используйте {% blocktrans %}. Django docs включают этот пример:

{% url path.to.view arg arg2 as the_url %}
{% blocktrans %}
This is a URL: {{ the_url }}
{% endblocktrans %}