Arnaud Fouchet
Arnaud Fouchet

Reputation: 953

django templates string formatting

I want to pad and cut too long chars. So I used stringformat. In this example, I want my string to be 10 characters long, with padding if necessary. I have this code in my django template

{{ "my too long or too short string"|stringformat:":10" }}

But django outputs nothing.

Upvotes: 0

Views: 2501

Answers (2)

Jay Lim
Jay Lim

Reputation: 420

Django 1.10, docs here,

Use truncatechars, rjust together.

index.html

<p>Non formated string</p>
<p>{{ "Truncatechars (include ... length)"|truncatechars:10}}</p>
<p>{{ "Truncatechars with rjust"|truncatechars:10|rjust:"30" }}</p>
<p>{{ "Only rjust"|rjust:"30" }}</p>

Output

Template renders correct HTML as below.

Please note white-space: pre; css property to represent white-space.

p {
  white-space: pre;
}
<p>Non formated string</p>
<p>Truncat...</p>
<p>                    Truncat...</p>
<p>                    Only rjust</p>

About white-space, see here

Upvotes: 1

Darshit
Darshit

Reputation: 430

Use in-bulit truncatechars template tag

{{ "my too long or too short string"|truncatechars:10 }}

Upvotes: 0

Related Questions