Reputation: 2359
I have text saved in a database record that looks like this.
This is the text
This is on a new line with a space in between
When I output it on the Django template, it comes out like this
This is the text This is on a new line with a space in between
How can I output the text on my django template to reflect the way it appears in the database?
Upvotes: 18
Views: 13618
Reputation: 11
<pre>
tag works fine, but has some default declarations (like monospace and margins).
The solution for me was to take the essence of the <pre>
tag - the following declaration:
white-space: pre;
And modify it (if you don't need extra spaces):
white-space: pre-line;
Now the data from the database fields models.TextField
keep all the line breaks.
Upvotes: 1
Reputation: 1
Try to use <br/>
<br/>
is an HTML code. Don't forget you are working with HTML using Django. Keeping this in mind will solve a lot of beginners trouble.
Upvotes: 0
Reputation: 369334
Use linebreaks
or linebreaksbr
filter:
{{ text|linebreaks }}
Or surround the text with <pre>...</pre>
.
<pre>{{ text }}</pre>
Upvotes: 26
Reputation: 5128
I linebreaks
uses <p>
tag to convert new line, this will probally not preserve the empty line or you will just not see it due to css styling.
You can try instead linkebrksbr that will use <br/>
for new lines.
Hope this helps
Upvotes: 3