Django: Zeilenumbruch von der Textbereichseingabe zulassen

Lesezeit: 2 Minuten

Benutzer-Avatar
barin

Wie erlaube ich einen Zeilenumbruch in der Textbereichseingabe in Django, um diese Eingabe später auf der Seite anzuzeigen?

  • {{value|striptags|urlize|autolinebreaks} Ich tue es

    – Niklas Rosenkranz

    12. Dezember 2009 um 22:54 Uhr

Benutzer-Avatar
barin

Zeilenumbrüche

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 slugwird 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 TextFieldnicht CharField.

    – 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.

Benutzer-Avatar
Haridas

Verwenden {% autoescape off %} {{ your_variable }} {% endautoescape %}.

1264330cookie-checkDjango: Zeilenumbruch von der Textbereichseingabe zulassen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy