django Slice-Nummern in der Vorlage

7

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%     
9-bits 11.01.2012, 23:28
quelle

3 Antworten

20

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!

    
Stefano 11.01.2012 23:30
quelle
1

{{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.

    
lastoneisbearfood 03.03.2013 14:31
quelle
0

Jeder zusätzliche Filter, der die Zahl vor dem Slicing in eine Zeichenfolge konvertiert, funktioniert. Ich habe diese Varianten verwendet:

%Vor%

und

%Vor%     
Matthijs 05.06.2013 11:13
quelle