Ich benutze die 'Nachrichten'-Oberfläche, um Nachrichten wie folgt an den Benutzer weiterzuleiten:
request.user.message_set.create(message=message)
Ich möchte HTML in meine {{ message }}
Variable aufnehmen und rendern, ohne das Markup in der Vorlage zu umgehen.
django
django-templates
xpanta
quelle
quelle
€
) anzeigen müssen, ist dies der richtige Weg.autoescape off
und nichton
. Ich habe diesen Fehler gemacht und ihn erst später entdeckt.Wenn Sie etwas Komplizierteres mit Ihrem Text machen möchten, können Sie Ihren eigenen Filter erstellen und etwas Magie anwenden, bevor Sie den HTML-Code zurückgeben. Mit einer Templatag-Datei, die so aussieht:
Dann können Sie dies in Ihre Vorlagendatei einfügen
Und das würde Ihnen ein schönes Ergebnis bringen.
quelle
Verwenden Sie die
autoescape
, um HTML-Escape zu deaktivieren:quelle
Sie können eine Vorlage in Ihrem Code folgendermaßen rendern:
Weitere Informationen finden Sie in den Django-Dokumenten .
quelle
Der einfachste Weg ist die Verwendung des
safe
Filters:Weitere Informationen finden Sie in der Django-Dokumentation zum sicheren Filter .
quelle
Der Filter oder das Tag müssen nicht in der Vorlage verwendet werden. Verwenden Sie einfach format_html (), um die Variable in HTML zu übersetzen, und Django deaktiviert automatisch das Escape für Ihre Variable.
Überprüfen Sie hier https://docs.djangoproject.com/de/3.0/ref/utils/#django.utils.html.format_html
quelle