templates 폴더 및 파일 관리는 어떻게 하시나요? 각각의 app 폴더 안에 각각 t

 
Jaehyung Kwak

templates 폴더 및 파일 관리는 어떻게 하시나요?
각각의 app 폴더 안에 각각 templates 폴더 만들어서 사용하니
다른 app 안에 있는 동일 파일을 구분할 수가 없고
(ex. 모든 templates 폴더 안에 index.html 파일 존재)
최상위에 templates 폴더를 만들어서 하위에 각각의 app 폴더를 사용해서 만들자니
이미 존재하는 각각 app 폴더와 독립적으로 관리하게 되는 것 같아 약간 찜찜한 것 같은 생각이 들어서요..
어떻게들 사용하시는지 궁금합니다.

  • Chinseok Lee

    각각의 app 폴더 안에 templates/app_name/ 안에 넣어서 관리하시면 됩니다. 이는 static 파일에도 동일하게 적용됩니다.

    Jaehyung Kwak

    이진석 네 감사합니다. 각각 app에 templates폴더를 넣어서 사용하지만, 경로 구분을 위해서 app_name 폴더를 만들어서 넣어 사용해야하는 거군요…

    박영록

    전 view를 먼저 resource 단위로 나누고, 그 resource 단위로 템플릿을 나눕니다. 예를 들어 상품이라면 view로 products.py 파일을 만들어서 그 안에 여러 view method를 집어넣고, /products 는 products.index를 호출하고 여기서 template/product/index.html을 사용합니다. /products/15라면 products.show를 호출하고 template/product/show.html을 쓰죠. /cart는 cart.index 이런 식입니다.

    resource 단위로 url이 매핑되니까 겹칠 염려는 적죠. 겹칠 것 같으면 resource 이름을 다르게 지으면 되구요. app 단위로 나누면 app_name/template/app_name 같은 이름이 되버려서 좀 싫더군요.

    Jung Kyoung Up

    만드는 앱에 따라 적절히 필요한 방법을 쓰시면 될거라 생각합니다. 앱안에서 앱이름으로 만드는 경우는 스테틱/템플릿 파일들을 포함하여 상당히 독립적이거나 양이 많거나 할 경우 그러시면되고, 독립성이 낮고 양이 적으면 그냥 템플릿 루트에서 대충 나눠쓰셔도 됩니다. cbv를 적극적으로 활용하기 위해서라면 잘게 잘 쪼개서 쓰는 편이 이름은 별로 마음에 안들어도 쓰기엔 좋은 편입니다.

Advertisements