J'utilise l'interface 'messages' pour transmettre des messages à l'utilisateur comme ceci:
request.user.message_set.create(message=message)
Je voudrais inclure du html dans ma {{ message }}
variable et le rendre sans échapper au balisage dans le modèle.
django
django-templates
xpanta
la source
la source
€
), le dollar passé de la vue, c'est la voie à suivre.autoescape off
et nonon
. J'ai fait cette erreur et je ne l'ai découvert que plus tard.Si vous voulez faire quelque chose de plus compliqué avec votre texte, vous pouvez créer votre propre filtre et faire de la magie avant de renvoyer le html. Avec un fichier templatag ressemblant à ceci:
Ensuite, vous pouvez l'ajouter dans votre fichier de modèle
Et cela vous donnerait un beau résultat.
la source
Vous pouvez rendre un modèle dans votre code comme ceci:
Consultez la documentation Django pour plus d'informations.
la source
Utilisez
autoescape
pour désactiver l'échappement HTML:la source
Le moyen le plus simple est d'utiliser le
safe
filtre:Consultez la documentation Django pour le filtre sécurisé pour plus d'informations.
la source
Pas besoin d'utiliser le filtre ou la balise dans le modèle. Utilisez simplement format_html () pour traduire la variable en html et Django désactivera automatiquement l'échappement pour votre variable.
Découvrez ici https://docs.djangoproject.com/en/3.0/ref/utils/#django.utils.html.format_html
la source