Seite 1 von 1

Django Text aus Datenbank formatieren

Verfasst: Mittwoch 16. November 2022, 08:45
von ooHeinzz
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 %}

Re: Django Text aus Datenbank formatieren

Verfasst: Mittwoch 16. November 2022, 09:11
von noisefloor
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

Re: Django Text aus Datenbank formatieren

Verfasst: Freitag 18. November 2022, 16:42
von ooHeinzz
Vielen Dank, Du hast mir sehr geholfen. Autoescape ausschalten funktioniert prima.