Wie erlaube ich einen Zeilenumbruch in der Textbereichseingabe in Django, um diese Eingabe später auf der Seite anzuzeigen?
Django: Zeilenumbruch von der Textbereichseingabe zulassen
barin
barin
Ersetzt Zeilenumbrüche im Klartext durch entsprechendes HTML; ein einzelner Zeilenumbruch wird zu einem HTML-Zeilenumbruch (<br />
) und eine neue Zeile gefolgt von einer Leerzeile wird zu einem Absatzumbruch (</p>
).
Zum Beispiel:
{{ value|linebreaks }}
Wenn Wert ist Joel\nis a slug
wird die Ausgabe sein <p>Joel<br />is a slug</p>.
-
Wenn Sie mit einem Link antworten, fügen Sie bitte auch die relevanten Informationen in Ihren Beitrag ein, falls die Website in Zukunft ausfällt
– Mike
13. September 2011 um 18:12 Uhr
-
Für diejenigen wie mich, die nach einer jinja2-Lösung suchen, beantwortet der folgende Stackoverflow-Link dies. Es fiel mir schwer, diese Antwort zu finden, also habe ich den Link hier eingefügt: stackoverflow.com/questions/10436458/…
– dev-vb
30. September 2014 um 1:11 Uhr
-
Gibt es eine Möglichkeit, die zu bewahren
\n
Zeichen für andere Dinge als das Rendern von HTML, zum Beispiel E-Mails oder Eingabewerte oder Javascript?– TheJKFever
16. März 2017 um 22:05 Uhr
-
Hinweis: Für Modelle sollte das Feld sein
TextField
nichtCharField
.– Josh Grinberg
20. Januar 2019 um 21:37 Uhr
Nicht verwenden {% autoescape off %}
! Andernfalls werden benutzergesteuerte Eingaben möglicherweise nicht maskiert, was ein Sicherheitsrisiko darstellt. Wie erwähnt verwenden Zeilenumbrüche oder Zeilenumbrüchebr.
Ich hatte einen Textbereich für minimale benutzerdefinierte Benutzereingaben in der Vorlage und wollte den formatierten Text, den der Benutzer eingefügt hat, beibehalten, um gleich zu bleiben. Die Lösung: Ich habe einfach die Model-Variable in einen TextField-Typ geändert. Es zeigt sogar den vom Benutzer formatierten Text im Adminbereich an. 🙂
ex.
class Uadds(models.Model):
title = models.CharField(max_length = 50)
description = models.TextField(max_length = 1000)
Titel zeigt keine Zeilenumbrüche, Beschreibung zeigt sie jedoch an. Ich habe das nicht mit einem Rich-Text-Editor getestet … Hoffe, das hat geholfen.
Haridas
Verwenden {% autoescape off %} {{ your_variable }} {% endautoescape %}
.
{{value|striptags|urlize|autolinebreaks} Ich tue es
– Niklas Rosenkranz
12. Dezember 2009 um 22:54 Uhr