Gibt es eine Möglichkeit, mehrere Ziffern einer bestimmten Zahl innerhalb einer Django-Vorlage zu erhalten?
Zum Beispiel:
%Vor%gibt Ihnen die zweite Ziffer ganz rechts. Für 1224531 wäre es 3
Gibt es eine Möglichkeit, die letzten drei Ziffern oder die ersten fünf Ziffern zu erhalten? Wie Pythons Slicing?
etwas wie:
%Vor%Es gibt das Template-Tag "slice"
Es verwendet dieselbe Syntax wie Pythons Listen-Slicing.
Beispiel:
%Vor%in Python entspricht dies:
%Vor% Übrigens wäre Ihr zweites Beispiel "2:5"
nicht "2,5"
NB. Python-Slicing funktioniert in jeder 'Sequenz'. Strings und Listen sind Sequenzen. Zahlen sind nicht!
{{1234567|make_list|slice:'2:5'|join:''}}
Stefano's Antwort ist auf dem richtigen Weg. Sie benötigen einen Vorverarbeitungsschritt, um Ihre Nummer in eine Liste umzuwandeln, und einen Nachbearbeitungsschritt, um diese Liste wieder in eine Zeichenfolge zusammenzuführen.
Tags und Links django django-templates django-template-filters