How to Apply Multiple Filters on a Django Template Variable?
For Me This Works: {{ Game. Description|Safe }} but This Fails: {{ Game. Description|Safe|Slice:"65" }} Is There a Way to Apply Two or More Filters on a...
For me this works:
{{ game.description|safe }}
But this fails:
{{ game.description|safe|slice:"65" }}
Is there a way to apply two or more filters on a variable in Django templates?
4 Answers
Although it's quite past when the OP posted the question, but for other people that may need the info, this seems to work well for me:
You can rewrite
{{ game.description|safe|slice:"65" }}
as
{% with description=game.description|safe %}
{{description|slice:"65"}}
{% endwith %}
Is description an array or a string?
If it is a string, you might want to try truncatewords (or truncatewords_html if the description can contain HTML),
{{ game.description|safe|truncatewords:65 }}
Reference: Built-in filter reference, truncatewords.
(I'm new to Django so my apologies if slice works on strings.)
change
{{ game.description|safe|slice:"65" }}
to
{{ game.description|safe|slice:":65" }}
you are missing the colon
This may work:
{% filter force_escape|lower %}
This text will be HTML-escaped, and will appear in all lowercase.
{% endfilter %}
Reference: Built-in tag reference, filter.