К сожалению, это намного сложнее, чем на первый взгляд. Между точкой, в которой вы определяете verbose_name
, и временем, которое он достигает {{ field.label_tag }}
в шаблоне admin/includes/fieldset.html
, с этой строкой происходит множество манипуляций. По сути, независимо от того, что вы делаете, строка возвращается в юникод и (в конечном итоге) экранируется в label_tag
. Попытка использовать mark_safe
или SafeUnicode
или даже шаблоны шаблонов |safe
не может предотвратить происходящее экранирование.
Это означает, что у вас есть три варианта:
Выполните много хакерских действий во внутренних органах django, чтобы нести строку SafeUnicode на всем пути через невредимый.
Построить тег метки поля вручную в шаблоне admin/includes/fieldset.html
. Помните, что на этом ярлыке есть много важных атрибутов, таких как id, for, class и т. Д.
Создайте фильтр шаблона, который анализирует строку внутри тега label и преобразует ее в ссылку для вас.
Вариант третий, на самом деле, может быть самый простой, если вы хорошо справляетесь с регулярными выражениями.