Django - Wohin mit dem/den templates-Ordnern

Django, Flask, Bottle, WSGI, CGI…
Antworten
luvlinux
User
Beiträge: 33
Registriert: Donnerstag 24. August 2017, 08:53

Hallo Leute,

ich habe nun schon einige Django-Tutorials durchgearbeitet und festgestellt, dass der Ordner 'templates' an verschiedenen Orten platziert wird. Also mal im root-Verzeichnis eines Django-projects (wo auch die apps liegen, die man erstellt. Oder auch im app-Ordner, also z. B. polls/templates.

Bei meinem derzeitigen Projekt sieht es so aus: (music ist eine app)
website/music/templates/
Dort liegen dann folgende Dateien: detail.html, index.html etc.

Wenn ich dem Tut glauben soll, dann bedeutet das, dass ich für jede app z. B. website/forum/templates ein Ordner 'templates' anlegen soll.

1. Ist das korrekt bzw. soll man so vorgehen?

2. Muss ich dann für meine Startseite - die ich derzeit über 127.0.0.1:8000/ aufrufe auch eine app (z. b. 'home' ) erstellen?

Würde mich über eure Antwort freuen.
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

@luvlinux: 1. ja und 2. ja.

Nur /index.html ist ja normalerweise nicht eine komplette App, sondern es gibt eine Hauptanwendung und vielleicht noch ein paar Nebenmodule.
Bolitho
User
Beiträge: 219
Registriert: Donnerstag 21. Juli 2011, 07:01
Wohnort: Stade / Hamburg
Kontaktdaten:

und es ist bei vielen Apps zu überlegen, den Ordneraufbau wie folgt zu machen:

website/music/templates/music/
website/app2/templates/app2/

damit gleichnamige Dateien in verschiedenen Apps sauber angesteuert werden können.
luvlinux
User
Beiträge: 33
Registriert: Donnerstag 24. August 2017, 08:53

Guten morgen,

vielen Dank für eure Antworten. ich werde dies zukünftig so umsetzen.
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@luvlinux: die Templates innerhalb der einzelnen Apps unterzubringen ist dann sinnvoll, wenn du diese Apps später auch in anderen Projekten einbringen und dazu Standard-Templates mitliefern möchtest. Projekte, bei denen dies nicht der Fall ist, gewinnen deutlich an Übersicht, wenn die Templates alle gemeinsam in einem Verzeichnis (und dort wieder in Unterverzeichnissen) abgelegt werden. Dies gilt insbesondere dann, wenn sie von gemeinsamen Basis-Templates abgeleitet werden.
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

@kbr: sehe ich nicht so. Bzw. ich sehe den von dir genannten Gewinn an Übersichtlichkeit nicht.

Mal abgesehen davon, dass das Django-Tutorial klar dazu rät, die Templates pro App gem. der im Tutorial angegebenen Verzeichnisstruktur abzulegen.

Gruß, noisefloor
Benutzeravatar
kbr
User
Beiträge: 1487
Registriert: Mittwoch 15. Oktober 2008, 09:27

@noisefloor: So gut die django-Dokumentation auch ist, in der Praxis können Abweichungen von einigen "offiziellen Empfehlungen" sinnvoll sein. Bei Anwendungen mit vielen Templates kann es wirklich von Vorteil sein, alle Dateien in einem gemeinsamen Hauptverzeichnis strukturiert abzulegen.
Antworten