safe - ifequal django
filtro de plantilla django eliminar etiquetas html (2)
¿Has mirado striptags
? Convertiría su HTML en esto (sin el resaltado de sintaxis de This
, por supuesto):
sddfdsfsdfsdf sd fsdf sd fsdf This link
Pero tenga en cuenta que este filtro de plantilla utiliza una regex para eliminar las etiquetas HTML. Como sabemos , las expresiones regulares no son la herramienta adecuada para trabajar con HTML la mayor parte del tiempo. Si su HTML proviene del exterior, asegúrese de desinfectarlo con un analizador HTML real, por ejemplo, lxml.html.clean
.
En la siguiente variable de plantilla de django. Es posible eliminar las etiquetas html a través de los filtros de plantilla de django
{{myvar|safe}}
Lo siguiente daría como resultado un html
<div>sddfdsfsdfsdf sd fsdf sd fsdf </div><a>This link</a><img src="some source" />
striptags
Hace todos los esfuerzos posibles para eliminar todas las etiquetas [X] HTML.
Por ejemplo:
{{ myvar|striptags }}
Si myvar es <b>Joel</b> <button>is</button> a <span>slug</span>
, la salida será Joel is a slug
.
También puede usar strip_tags en su código de Python, es decir, en un formulario.
Por ejemplo, en un método de limpieza de formulario:
class AddressForm(forms.ModelForm):
class Meta:
model = Address
def clean(self):
from django.utils.html import strip_tags
cleaned_data = super(AddressForm, self).clean()
cleaned_data[''first_name''] = strip_tags(cleaned_data.get(''first_name''))
return cleaned_data
Vea Django HTML Utils , también vea esta sencilla aplicación Django HTML Sanitizer .