2016-03-29 4 views
0

Я использую urlize filter в каком-то представленном пользователем содержимом, однако я хотел бы добавить класс к отображаемому элементу привязки.Добавить класс в динамически добавленный элемент шаблона

Джанго в настоящее время рендеринга

www.someurl.com 

в

<a href="www.someurl.com">www.someurl.com</a> 

Но я хочу, чтобы сделать его как

<a class="myClass" href="www.someurl.com">www.someurl.com</a> 

Как я могу это сделать?

ответ

1

Вы можете использовать специальный фильтр для добавления класса к визуализируемому элементу.

from django import template 

register = template.Library() 

@register.filter(is_safe=True) 
def class_to_url(value): 
    return value.replace('<a ', "<a class='myClass' ">) 

И затем использовать его в шаблоне с urlize:

{{ text_url|urlize|class_to_url }} 

django docs См для пользовательских тегов шаблонов и фильтров

+0

Это на самом деле возвращения избежали HTML, как предотвратить это? –

+1

Вы можете отметить это значение как безопасное, передав 'is_safe' arg' filter() '. Проверьте обновленный ответ. – v1k45

+0

Это сделало, спасибо! –

Смежные вопросы