Ich verwende Django für die Entwicklung und rufe Text mit einem Zeilenumbruch aus der Datenbank ab. Wenn ich es jedoch mithilfe eines Vorlagen-Tags in eine Vorlage rendere, wird das Zeilenumbruchzeichen nicht angezeigt.
Was ist das Problem?
Ich verwende Django für die Entwicklung und rufe Text mit einem Zeilenumbruch aus der Datenbank ab. Wenn ich es jedoch mithilfe eines Vorlagen-Tags in eine Vorlage rendere, wird das Zeilenumbruchzeichen nicht angezeigt.
Was ist das Problem?
Antworten:
Sie müssen sich daran erinnern, dass Ihre Vorlagen HTML produzieren. In HTML ist ein Zeilenumbruchzeichen nur ein weiterer Leerraum. Dies bedeutet nicht, dass der folgende Text in eine neue Zeile eingefügt wird. Es gibt verschiedene Möglichkeiten, neue Zeilen in HTML zu erzwingen.
Sie können Ihren Text mit einem <pre>
Tag versehen, damit HTML versteht, dass er vorformatiert ist:
<pre>{{value}}</pre>
Sie können Django-Filter verwenden, um Ihre Nur-Text-Zeilenumbrüche in HTML zu konvertieren. linebreaks
Verwandelt einzelne Zeilenumbrüche in <br>
Tags und doppelte Zeilenumbrüche in <p>
Tags. linebreaksbr
verwandelt einfach Zeilenumbrüche in <br>
Tags:
{{value|linebreaks}}
{{value|linebreaksbr}}
Sie können damit experimentieren, um zu sehen, was Ihnen besser gefällt.
Andernfalls können Sie die Zeichenfolgenmanipulation in Ihrer Ansicht verwenden, um Ihren Klartext auf eine Weise in HTML zu konvertieren, die besser zu Ihnen passt. Und wenn Sie wirklich fortgeschritten sein möchten, können Sie Ihren eigenen Filter schreiben, der nach Ihren Wünschen konvertiert, und ihn in Ihren Vorlagen verwenden.