Django Text aus Datenbank formatieren

Django, Flask, Bottle, WSGI, CGI…
Antworten
ooHeinzz
User
Beiträge: 18
Registriert: Sonntag 30. Oktober 2022, 07:03

Hallo,

ich lade einen Beschreibungstext ('description') aus der Datenbank. Dieser Text soll noch formatiert werden. Insbesondere möchte ich Zeilenumbrüche einfügen.
Meine erste Hoffnung war, ich könnte einfach das entsprechende html-tag direkt in den Beschreibungstext einfügen - klappt nicht :-(

Über einen Tipp würde ich mich sehr freuen.

Der Code:
{% for gericht in gerichte %}
<div class="plan_card">
<h2>{{ gericht.name }}</h2>
<p>{{gericht.description}}</p>
</div>
{% endfor %}
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

für so einen Fall ist die Filter von Django Templates dein Freund.

Um einfache Zeilenumbrüche aus Text in `<br/>` und 2x Zeilenumbruch in `<p>` in der Ausgabe zu wandeln gibt es den Linebreak Filter: https://docs.djangoproject.com/en/4.1/r ... ns/#escape bzw. den `linebreaksbr` Filter.

Wenn dein Text HTML enthält, wird dieses HTML standardmäßig escaped. Kannst du deaktiveren: https://docs.djangoproject.com/en/4.1/r ... ns/#escape.
Statt HTML in der DB zu speicher bietet sich oft die Nutzung von Markdown an.

Gruß, noisefloor
ooHeinzz
User
Beiträge: 18
Registriert: Sonntag 30. Oktober 2022, 07:03

Vielen Dank, Du hast mir sehr geholfen. Autoescape ausschalten funktioniert prima.
Antworten