Split einen string in eine Liste, die in django-templates
Grundsätzlich habe ich eine durch Doppelpunkt getrennte variable übergeben wird in meinem template möchte ich mit einer Schleife durch die Anzeige jedes einzelnen Elements.
Ich würde gerne in der Lage, extrahieren Sie alle diese Namen und führen Sie dann eine Logik, die auf Ihnen in meiner Vorlage.
Wenn ich könnte die Verwendung von python, ich würde so etwas machen (Hinweis: file_type ist die variable, die ich in meinem template):
file_type = "PDF:DOC:XLS"
for tipe in file_type.split(":"):
if tipe == "PDF":
print "<img src='pdf'/>"
elif tipe == "DOC":
print "<img src='doc'/>"
elif tipe == "XLS":
print "<img src='xls'/>"
else:
print "<img src='unrecognized'/>"
Also im Grunde, wird es eine split-Funktion, die in django-templates oder hat jemand kommen mit ein cleverer Weg, dies zu tun? Ich habe nicht in der Lage, etwas zu finden. Danke!
- können registrieren Sie einen filter-und call-split in den filter? siehe djangosnippets.org/snippets/211 auch djangosnippets.org/snippets/889
- Dank Kevin. Das wird meine erste custom-tag und ich habe ein wenig Schwierigkeiten mit ihm, vor allem, da ich habe auf ein Projekt zu pflegen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein job für ein custom template Tags und filter. Wenn Sie sich jemals denken "Wenn ich könnte, die Python verwenden hier", das ist das Zeichen, müssen Sie eine benutzerdefinierte tag - /filter. Sie können mehr oder weniger verwenden den code, den Sie geben oben, nur der Wert, anstatt zu drucken.