Planuję nowy projekt Django i chcę wszystko naprawić i tak dalej. Natknąłem się na pytanie, jak zorganizować układ katalogu projektu. Na szczęście istnieje wiele przykładów dobrych szablonów projektów dostępnych w Internecie. Mimo to jest jedna rzecz, o którą walczę, aby dostać się do mojej głowy:Lokalizacje szablonów i plików statycznych w Django
Jest to zalecany sposób umieszczania plików szablonów w oddzielnym katalogu w katalogu głównym projektu podzielonym na podkatalogi według aplikacji. Szablony nie znajdują się w katalogach aplikacji. Wydaje mi się to logiczne, ponieważ chcemy oddzielić logikę aplikacji od logiki reprezentacyjnej. Ale co z plikami statycznymi? W tym przypadku powszechną praktyką wydaje się lokalizowanie plików statycznych w katalogach aplikacji i ładowanie ich do katalogu "statycznego" w katalogu głównym projektu w czasie projektowania (collectstatic). I tej logiki nie rozumiem. Ponieważ pliki statyczne (tj. Js, css, obrazy) są zwykle dostępne w szablonach, a nie w kodzie aplikacji, zaliczam je do logiki prezentacji. Dlaczego więc nie są przechowywane tak jak szablony - katalog w katalogu głównym projektu, z podkatalogami dla pojedynczych aplikacji?
Wiem, że mogę przechowywać te pliki, gdziekolwiek chcę, ale myślę, że może istnieć dobry powód, dla którego ludzie robią to w ten sposób. Jaki może być ten powód?
Widzę, że uporządkowanie szablonów i plików statycznych w katalogach aplikacji ma sens w przypadku aplikacji podłączanych. Ale nie mam żadnej korzyści, jeśli nie planuję tworzyć wtyczek, prawda? Po prostu będę musiał nazywać 'collectstatic' przy każdym wdrożeniu nowej wersji mojego projektu. – j0ker
@ J0ker, to debata i jest całkowicie Twoim wezwaniem. Czasami, jeśli jest to dyskretnie zapakowana aplikacja, używam 'app/static'. Innym razem, dla grupy aplikacji, wszystkich związanych z podstawową witryną, używam tylko mojego folderu 'site_media'. Obciążenie wywołaniem "collectstatic" zostało usunięte, ponieważ używam skryptu tkaniny, który go używa. PLUS