web-dev-qa-db-fra.com

filtre de modèle pour découper les espaces blancs de début ou de fin

Existe-t-il un filtre de modèle dans Django qui supprimera tout espace de début ou de fin du texte d'entrée.

Quelque chose comme: {{ var.example|trim }}

30
John

Tu peux le faire toi-même

from Django import template
from Django.template.defaultfilters import stringfilter

register = template.Library()

@register.filter
@stringfilter
def trim(value):
    return value.strip()

Documentation

20
San4ez

modèles Django vous permet d'accéder aux méthodes et propriétés en utilisant le '.' syntaxe:

{{ var.example.strip }}

Vous pouvez étendre cela en enchaînant d'autres filtres lorsque vous traitez avec HTML, par exemple:

{{ var.example.strip|safe|removetags:"p img" }}

Ici, nous supprimons d'abord tout <p> et <img> tags, puis indiquez Django il peut restituer en toute sécurité le reste du contenu, que nous avons supprimé de tout espace blanc.

82
Lukas Batteau