So entfernen Sie HTML / Javascript von der Texteingabe in Django

80

Was ist der einfachste Weg, um alle HTML / Javascript von einem String zu entfernen?

Eldila
quelle

Antworten:

167

Django bietet eine Dienstprogrammfunktion zum Entfernen von HTML-Tags:

from django.utils.html import strip_tags

my_string = '<div>Hello, world</div>'
my_string = strip_tags(my_string)
print(my_string)
# Result will be "Hello, world" without the <div> elements

Früher war diese Funktion in älteren Django-Versionen (vor 1.7) unsicher, heute ist sie jedoch völlig sicher . In diesem Artikel wurde dieses Problem überprüft, als es relevant war.

Eldila
quelle
Die strip_tags entfernen keine HTML-Entitäten.
Pavan Kumar TS
Dadurch werden nur die Tags selbst entfernt. Was ist mit dem eigentlichen Inhalt?
Kevin Parker
50

Der Striptags- Vorlagenfilter.

{{ value|striptags }}
Ayman Hourieh
quelle
0

Django 3

{{ the_value | striptags | safe | escape }}
Ahmed Shehab
quelle