2015-01-04 31 views
14

Django'nun şablonunda bir dizeye bir sayı dönüştürmenin bir yolu var mı? Veya özel bir şablon etiketi oluşturmam gerekiyor mu? Bir dizeye bir değişken dönüştürmek için stringformat kullanabilirsinizDjango kalıp dizgeye dönüştür

{{ 1|stringify }} # '1' 
+3

Şablondaki bir tamsayı ve bir dize arasındaki fark ne olurdu? Şablon sadece metin, her şey bir dizedir. –

+1

Hayır, {% if item.type == content_type%}} gibi bir şey yapmanın biri diğerinin olmazsa olmaz bir sonucunu üretecektir. – David542

+0

@ David542: Bir tür tür dökümünü gerçekleştirmek için {% if item.type == content_type | add: 0%}} kullanabilirsiniz. –

cevap

32

: Böyle bir şey

{{ value|stringformat:"i" }} 

biçimlendirme seçenekleri için documentation bakınız (lider % dahil edilmemelidir).

+0

Bunu gerçekten yapabilirsin, ama yorumda da belirttiğim gibi, neden yapardın? '{{Value | stringformat:" i "}}' çıktısı, tam olarak {{value}} 'çıktısı ile aynıdır. –

+5

@DanielRoseman: bir if deyimi yazarken, tür önemli olur - bu nedenle, şablondaki türü dönüştürmek ve daha sonra bir karşılaştırmada bu değeri kullanmak gerekebilir. –

+2

Buna ekleyerek, {% with var = "gibi bir şey yapamazsınız. Bu bir tamsayıdır:" | add: an_int_variable%} "olmayan" | stringformat: "i" '' an_int_variable' üzerinde ilk. – rinti