2016-03-29 19 views
0

bir sınıf ekleyin Bazı kullanıcı tarafından gönderilen içerikte urlize filter kullanıyorum, ancak oluşturulmuş bağlantı elemanına bir sınıf eklemek istiyorum.Dinamik olarak eklenen şablon öğesine

Django anda

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

olarak

www.someurl.com 

render edilir Ama ben bunu nasıl

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

olarak oluşturması için istiyorum?

cevap

1

İşlenen öğeye sınıf eklemek için özel bir şablon filtresi kullanabilirsiniz.

from django import template 

register = template.Library() 

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

Sonra urlize ile şablonda kullanmak:

{{ text_url|urlize|class_to_url }} 

Bunu engellemek, nasıl özel şablon etiketleri ve filtreleri

Aslında html kaçan dönen ediyor
+0

için django docs görüyor musunuz? –

+1

"is_safe" arg öğesini 'filter()' konumuna getirerek değeri güvenli olarak işaretleyebilirsiniz. Güncellenmiş cevabı kontrol edin. – v1k45

+0

Bu yaptı, teşekkürler! –

İlgili konular