2016-11-07 6 views
0

Also, ich versuche, eine Vorlage zu laden, auf die aktuelle URL basiert undDjango Match aktuelle URL und Last-Vorlage

Zum Beispiel:

{% if 'foo/bar/gallery' in request.path %} 
    {% include 'web/custom/foo/bar/gallery.html' %} 
{% endif %} 

Die foo/bar/dynamisch, ebenso wie die Verzeichnisvorlagenpositionen. Die Zeichenfolge 'gallery' wird immer dieselbe sein und kann fest codiert sein, wenn das wichtig ist. Wie kann dies erreicht werden?

FYI: noch auf django 1.3.7

+0

Mögliche Duplikat [diese Frage] (http://stackoverflow.com/questions/4386168/how-to-concatenate-strings-in-django-templates/23783666#23783666) – Alasdair

Antwort

1

Ich denke, dass Sie die Logik in der Vorlage vermeiden sollten. Ich schlage vor, 2 Möglichkeiten:

  • Bereiten Sie den Namen der Vorlage in der Ansicht
  • Oder erstellen Sie einen Template-Tags, so dass Sie mit der Logik außerhalb der Vorlage umgehen können.
+1

Dank @martync. Es wird wahrscheinlich ein Schablonen-Tag sein, da es eine große Sammlung von "Galerie" -Templates (eine pro URL) gibt, die enthalten sein müssen, um zu vermeiden, jeden Template-Namen in der Ansicht hart zu codieren. Ich versuche es dann mit einem Template-Tag herauszufinden. Ziemlich neu zu Django ... – nfq

+0

Ich kämpfe mit diesem, wie ich ein bisschen von einem Django noob bin. Könntest du mir weiter helfen? Oder haben Sie Ideen, wo Sie freiberufliche Hilfe finden können? – nfq