Gibt es eine Möglichkeit, eine Zahl in eine Zeichenfolge in Django Vorlage zu konvertieren? Oder muss ich ein benutzerdefiniertes Template-Tag erstellen? Etwas wie:Django Vorlage in Zeichenfolge konvertieren
{{ 1|stringify }} # '1'
Gibt es eine Möglichkeit, eine Zahl in eine Zeichenfolge in Django Vorlage zu konvertieren? Oder muss ich ein benutzerdefiniertes Template-Tag erstellen? Etwas wie:Django Vorlage in Zeichenfolge konvertieren
{{ 1|stringify }} # '1'
Sie stringformat
verwenden können eine Variable in einen String zu konvertieren:
{{ value|stringformat:"i" }}
Siehe documentation für Formatierungsoptionen (die führende %
sollten nicht enthalten sein).
Sie können das zwar tun, aber wie ich im Kommentar notiere, warum würden Sie? Die Ausgabe von '{{value | stringformat:" i "}}' ist genau die gleiche wie die Ausgabe von '{{value}}'. –
@DanielRoseman: Beim Schreiben einer if-Anweisung ist der Typ von Bedeutung - daher kann es erforderlich sein, den Typ in der Vorlage zu konvertieren und diesen Wert später in einem Vergleich zu verwenden. –
Das Hinzufügen von etwas wie '{% mit var =" das ist eine ganze Zahl: "| add: an_int_variable%}' ohne '| stringformat:" i "' zuerst an der 'an_int_variable'. – rinti
Sie können {{ value|slugify }}
(https://docs.djangoproject.com/en/1.10/ref/templates/builtins/) verwenden.
Was wäre der Unterschied zwischen einer Ganzzahl und einer Zeichenfolge in einer Vorlage? Die Vorlage ist nur Text, alles ist eine Zeichenfolge. –
Nein, mit etwas wie '{% if item.type == content_type%}' würde man ein echtes Ergebnis erzeugen, das andere nicht. – David542
@ David542: Sie könnten '{% if item.type == content_type | add: 0%}' verwenden, um eine Art von Casting zu erreichen. –