python / intermediate
Snippet
Eigene Django Template-Filter mit Argumenten dekorieren
Eigene Template-Filter, die über eine Library-Instanz registriert werden, ermöglichen das Formatieren von Template-Variablen in Django unter sicherer Behandlung von Argumenten.
snippet.py
python
1
2
3
4
5
6
7
8
9
10
11
from django import templateregister = template.Library()@register.filter(name='truncate_chars')def truncate_chars(value, max_length=20):if not isinstance(value, str):return valueif len(value) <= max_length:return valuereturn value[:max_length] + '...'
django
Erklärung
1
register = template.Library()
Erstellt eine Registry für die Django Template-Bibliothek zur Aufnahme eigener Tags und Filter.
2
@register.filter(name='truncate_chars')
Registriert die Funktion als Template-Filter unter dem angegebenen Namen.
3
def truncate_chars(value, max_length=20):
Definiert den Filter, der den Wert der Pipe-Eingabe sowie einen optionalen Parameter empfängt.