有沒有辦法在django模板中獲取給定數字的多個數字?模板中的Django切片號碼
例如:
{{ some_num|get_digit:2 }}
會給你第二個最右邊的數字。對於1224531這將是3
有沒有辦法得到最後3位數字或前5位數字?像python的切片?
類似:
{{ some_num|get_digits:2,5}}
有沒有辦法在django模板中獲取給定數字的多個數字?模板中的Django切片號碼
例如:
{{ some_num|get_digit:2 }}
會給你第二個最右邊的數字。對於1224531這將是3
有沒有辦法得到最後3位數字或前5位數字?像python的切片?
類似:
{{ some_num|get_digits:2,5}}
有一個的 「切片」 模板標籤
https://docs.djangoproject.com/en/dev/ref/templates/builtins/#slice
它使用相同的語法,Python的名單切片。
例子:
{{ some_list|slice:":2" }}
在Python這相當於:
some_list[:2]
BTW你的第二個例子是"2:5"
不"2,5"
NB。 Python切片適用於任何「序列」。字符串和列表是序列。數字不是!
{{1234567|make_list|slice:'2:5'|join:''}}
斯特凡諾的答案是正確的軌道上。您需要一個預處理步驟將您的號碼轉換爲列表,以及一個後處理步驟,將該列表合併回字符串。
任何額外的過濾器可以在切片之前將數字轉換爲字符串。我用這些變種:
{{ some_num|slugify|slice:"2:5" }}
和
{{ some_num|stringformat:"d"|slice:"5:10" }}
搜索「Django的模板標籤片」將帶來你答案! – Stefano 2012-01-11 23:32:18