본문 바로가기

Back-end/Django

Django Blog 만들기 - part 3 : 템플릿

Django Blog 만들기 - part 3 : 템플릿

GitHub : https://github.com/bellcastle88/Django-Website-Projectc

 

1. 템블릿과 하위폴더, html 생성한다.

- templates 폴더를 만들고 하위 폴더로 blog를 만든 후 html파일을 만들어준다

 

2. Home.html파일에 아래와 같이 입력해준다

-home.html에 아래와같이 코드를 넣어준다.

 

3.Blog.apps.py에서 BlogConfig 복사해준다.

 

4. Django_project.settings.py 아래와 같이 추가해준다.

- 메인프로젝트 세팅에 blog앱이 추가된것을 알려주기 위해서

 

5. Blog.views.py파일에 templates home.html파일을 읽어올 있도록 아래와 같이 render 이용해준다.

 

6. Templates about.html파일을 아래와 같이 수정해준다. ( home.html )에서 복붙하기

 

7. views.py about.html 출력할 있도록 아래와 같이 설정

 

8. 제대로 출력되는지 확인하기.

 

9. Views.py  안에 가짜 데이터를 집어넣기

 

10. View.py안에 context 포함시킨다 ( '' : 벨류 )

 

11. View.py에서 설정한 context 홈페이지에 포스트 하기위해  Home.html 아래와 같이 추가해준다

 

12. 정리

Blog.view.py( posts ) 가짜데이터를 입력 했고 view.home안에 context 추가한다

Home.html안에 for반복문을 입력해준다

 

13. Home.html if-else 이용하여 타이틀을 만들어준다.

 

14. About.html에도 똑같이 붙여넣기 해준다.

 

15. View.py.about 타이틀을 설정해준다. 입력해준다.

 

16. 서버에 타이틀이 활성화 되었는지 확인한다.

 

17. Base.html 파일을 만든다.

 

18. About home.html 사이에 중복되는것이 많다. 이것은 프로그래밍에서 절대 좋은것이 아니다.

-about.html에서 전체 코드를 복사해서 base.html 붙어넣는다.

 

19. Base.html 아래와 같이 추가한다.

-{% block content %}{% endblock %}에서는 페이지에서 원하는 수정을 있다.

-나머지 부분은 base.html에서 상속된다

 

20. Home.html 수정한다

  • {% extends "blog/base.html" %} 명령어로 base.html템플릿을 사용할 있다.
  • {% block content %} {% endblock content %} 사이에 해당 home.html에서만 보여줄 컨텐츠를 집어 넣는다.

 

21. About.html 아래와 같이 추가해 준다.

 

22. 페이지가 작동하는지 확인

 

23. 부트스트랩에서 해당 코드를 가져온다.

 

24. Base.html 붙여넣기 해준다.

  • <head> 밑에 붙여넣기

 

  • Hello, world! 부분은 이미 존재하기 때문에 삭제해준다

 

25. 부트스트랩에서 해당 JavaScript 가져온다.

 

26. Base.html 붙여넣어 준다.

  • <body>tag사이에

 

  • <div class="container"> 사이에 {% block content %} 넣어준다.  *wrap = 감싸다
  •  안쪽 여백과 일정  간격을 유지하기 위해서 ( Good padding and spacing )

 

27. 서버 확인하기.

 

28. 정리 ( quick recap )

-base템플릿을 base.html안에 만들었다 ( 상속해주는 부모 템플릿 )   -> 다른 템플릿에서 오버라이드 ( 부모속성은 무시하구 속성을 적용할 있게해줘 ) 있는 {% block content %} 만들었다 -> home.html 보면 {% block content %}안에 home.html에서 출려하고 싶은 내용을 입력한다.

29. 아래 깃헙에서 navigation.html 가져와서 base.html 붙여넣어준다.

https://github.com/CoreyMSchafer/code_snippets/blob/master/Django_Blog/snippets/navigation.html

 

 

30. <div class="container">위치를 바꾸기 위해서 삭제해준다.

 

31. 아래 깃헙에서 main.html 가져와서 base.html 위에 <div class="container"> 삭제한 위치에   붙여넣어준다.

https://github.com/CoreyMSchafer/code_snippets/blob/master/Django_Blog/snippets/main.html

 

32. 들여쓰기를 해준다 ( indentation ) 줄맞추기

 

33. Blog 안에 static폴더를 만들고 안에 같은이름의 blog폴더를 만든다

 

34. 위에서 만든 마지막 blog폴더 안에 main.css파일을 생성한다.

-main.css파일 안에 아래 코드 붙여넣어준다

https://github.com/CoreyMSchafer/code_snippets/blob/master/Django_Blog/snippets/main.css

 

35. 위의 css파일을 base.html 포함시키기

-먼저 static파일을 불러오기위해 base.html 파일 가장위해 아래와 같이 입력해 준다.

 

-아래의 위치에 해당코드를 넣어준다.

 

- href="" 파일의 위치를 넣어준다

 

36. Home.html 이동해서 아래 for loop 삭제 해준다. Css 추가하여 디자인을 이쁘게 만들기 위해

 

아래 깃헙에서 article.html파일을 복사해서 캡쳐와 같이 붙여넣어준다.

https://github.com/CoreyMSchafer/code_snippets/blob/master/Django_Blog/snippets/article.html

 

37. Base.html에서 루트를 변경 하고 싶을때는 href 변경해준다.

 

-아래의 blog-home URL이름이다. 아래와 같이 추가해준다.

 

-blog.urls.py name='blog-home' href 같은것이다.

 

-Django-Blog 클릭하면 home으로가는 설정을 하기위해 href blog-home 추가해준다.