세로형
Recent Posts
Recent Comments
Link
04-27 00:02
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

꿈 많은 사람의 이야기

python django로 todo list 게시판 구현하기! - 3편. template extends 본문

python-django

python django로 todo list 게시판 구현하기! - 3편. template extends

이수진의 블로그 2019. 5. 21. 11:53

완성된 코드는 아래 github 주소에 있습니다!

도움이 되셨다면 좋아요와 깃허브 스타를 눌러주세요! 저에게 있어 큰 힘이 됩니다 ㅠㅠ

https://github.com/lsjsj92/django_todo_app

 

지난 포스팅에 app을 만들어서 화면을 띄웠습니다

이번 포스팅은 상단 메뉴 header 부분을 따로 빼놓고 실제 main은 이 header를 extends 하는 방법을 사용해서

템플릿을 따로 만들어 놓겠습니다.

장고에는 template language가 있습니다. html 템플릿 안에서 {% for %}, {% if %} 문 등을 사용할 수 있죠

그리고 저희가 앞서 static 폴더에 파일을 놓은 것을 {% static %}을 통해 가져올 수도 있습니다

그리고 위에서 말씀드린 것처럼 템플릿 상속도 가능한데요!

이렇게 하는 이유는 기능 별로 template을 따로 만들고 공통적인 것이 한 번에 관리 되도록 하기 때문입니다.

 

앞 포스팅을 보셨다면 common 디렉토리에 header.html이 있으신 것을 보셨을 겁니다

그 header 부분입니다. header는 여러분들이 꾸미고 싶은대로 꾸미시면 됩니다

그리고 저는 중간에 {% bloack main %} ~ {% endbloc main %}을 만들었습니다.

이 부분은 블록이라는 개념인데요. 이 블록을 이제 상속 받은 자식 템플릿이 구현해줍니다

 

 

이렇게 말이죠!

{% extends ~~ %}

    {% block main %}

       내용

    {% endblock %}

이런 식으로 만들어주면 됩니다

extends는 말 그대로 위의 header.html을 상속하겠다는 이야기고, block은 위에서 설명드린 것처럼 main block에 자식 템플릿이 구현을 하는 영역입니다

 

 

그리고 static을 인지해야하는데요

저희가 앞서 javascript 파일들과 css 파일들을 static 폴더에 넣었습니다.

그 파일들은 위와 같이 {% static '디렉토리' %} 로 해주시면 됩니다

 

 

 

자! 이렇게 하니까 위와 같이 화면이 나오네요 ㅎㅎ

이제 다음 포스팅에서 진행됩니다

반응형
그리드형
Comments