본문으로 바로가기

11. 상속

category Django 2020. 3. 25. 14:54
상속진행중

템플릿 상속

여태까지 만든 페이지를 보자.

링크를 이동 할 때 하나하나 다 수정을 해줘야 했다.

예를 들어서 글쓰기 라는 링크를 추가해주려면

home.html , detail.html 등등 여러개의 웹페이지에 하나하나 링크를 연결해줘야했다.

하지만 이 파일이 여러개라면? 여간 귀찮은 일이 아닐수 없다.

이를 위해서 템플릿 상속이라는 것을 사용 해야 한다.

프로젝트 폴더에 templates폴더를 만들고 base.html을 만들자(html파일 이름은 마음대로 해도 된다)

이 폴더는 우리가 임의로 만든 것이니 settings.py에 가서

templates가 있는 부분을 보자.

'DIRS':[] 라고 되어 있을것이다.

이제 이 디렉토리에 base.html을 알려줘야 하는데 우리가 만든 base.html의 위치를 적으면 된다

project 폴더에 있는 templates에 base.html이 있다 라는 뜻으로 적어주면 된다.

 

 

이제 이 base.html에 공통적으로 들어가는 부분을 구현해준다 (링크라던지, 네브바라던지)

이제 home.html에서 이를 사용하기 위해선 상속을 해야한다

제일 윗 부분에

이런식으로 진행하면 매우 깔끔하게 진행 할 수 있다.

 

url 정리

앱 폴더가 여러가지 일 때 url을 보기 좋게 앱 폴더에 넣을수 있다.

이는 url을 유지보수 할 때도 편리하다.

앱 폴더에 urls.py를 만들고

urlpattenrs=[]라는 리스트를 만들어주고 프로젝트 폴더에 있는 urlpattern 처럼 작성하면 된다

원하는 path를 긁어서 urls.py에 넣고

blog앱에 urls.py를 만들었다 치면

프로젝트 폴더의 urls.py에는

path('blog/', include('blog.urls')), 라는 식으로 적으면 된다.

2번째 줄의 include를 import 해줘야 한다.

'Django' 카테고리의 다른 글

13. Paginator  (0) 2020.05.11
12. 로그인,로그아웃,회원가입  (0) 2020.05.11
10. static과 media  (0) 2020.03.25
09 BlogProject(2)  (0) 2020.03.23
08 BlogProject (1)  (0) 2020.03.23