본문 바로가기
Python Django/Django 블로그 만들기

[Django 블로그 만들기] Django templates 만들기

by 베타코드 2022. 9. 9.
반응형

안녕하세요 독학코딩입니다. 오늘은 Django의 MTV, model, views, templates 구조의 마지막 templates를 만드는 방법에 대해서 배워보겠습니다. 혹시 이전 포스팅에서 배운 model과 views를 만드는 방법에 대해서 잘 모르신 다면 아래의 링크를 참고하시면 됩니다.

 

[Django 블로그 만들기] Django Model, View 만들기

안녕하세요 독학코딩입니다. 이전 포스팅에서 Django 앱을 만들고 urls.py를 수정하는 것까지 했습니다. 이번 포스팅에서는 Django에 Model과 View를 생성하는 법에 대해서 배워보겠습니다. 이전 포스트

stcodelab.com

 

Django templates 만들기

먼저 이전에 python manage.py startspp 앱이름을 통해서 생성한 app의 폴더 안에 templates 폴더를 생성해야 합니다.

그 이후에 templates 폴더 안에 생성한 app과 똑같은 이름의 폴더를 하나 더 만들고 post_list.html 파일을 하나 만드시면 됩니다.

저의 경우엔 생성한 app의 이름이 blog 이기 때문에 blog/templates/blog/post_list.html을 생성했습니다. 각자가 생성한 app 이름에 맞게 폴더를 생성해주세요.

 

여기서 유의하실 점은 post_list.html의 이름은 모델의 이름을 따른다는 점입니다. 이전 포스팅에서 생성한 모델의 이름이 class Post(models.Model)이기 때문에 해당 모델의 templates 파일의 이름은 post_list.html이 되는 것입니다. 만약 모델이 이름이 class Book(models.Model) 이었다면 templates 파일의 이름도 book_list.html이 될것입니다. templates에는 모델이름_list.html만 있는 것은 아닙니다. 이후에 진행하면서 한 개씩 알아가겠습니다.

 

이제 post_list.html파일에 들어와 주세요. 

 

Django 모델 리스트 파일 만들기

{% for object in object_list %}
    <h3>{{ object.title }}</h3>
    <p>{{ object.created_date }} by {{ object.author }}</p>
    <p>{{ object.content }}</p>
{% endfor %}

post_list.html 파일 안에 위와 같이 적어주세요. 이해하기 어려우시겠지만 하나씩 설명드리겠습니다. 

{% for object in object_list %}
{% endfor %}

Django html 파일에서 for문을 사용하기 위해서는 python과는 조금 다른 방식을 이용해야 합니다. {% for i in A_list %}를 통해서 for문을 시작하고 {% endfor %}를 통해서 for문의 끝을 명시하여야 합니다. for문 안에서는 {{ object.title }}처럼 {{ }}를 통해서 for문 변수에 접근 가능합니다. title, created_date, author, content 같은 경우는 model안에서 정의된 변수입니다.

 

혹시 작성 포스트가 아래와 같이 나와서 불편하시다면 링크를 통해 수정 방법을 확인해보시기 바랍니다.

 

포스트 추가까지 완료하셨다면 이제 127.0.0.1:8000/blog/로 가서 우리가 만든 웹사이트를 확인해봐야겠죠??

127.0.0.1:8000/blog/에 가보시면 위와 같은 화면을 보실 수 있으실 겁니다.

{% for object in object_list %}
    <h3>{{ object.title }}</h3>
    <p>{{ object.created_date }} by {{ object.author }}</p>
    <p>{{ object.content }}</p>
{% endfor %}

우리는 작성한 코드처럼 포스트 제목, 생성날짜와 생성자, 글 내용 순으로 반복되면서 웹사이트가 만들어졌습니다. 축하드립니다. 이제 Django의 기본적인 MTV 구조에 대해서 전부 배우셨습니다. 앞으로는 이 MTV 구조를 반복하면서 만들어 우리가 원하는 웹사이트를 만들어낸 과정입니다. 다음 포스트에선 위 웹사이트를 조금 더 이쁘게 보이는 방법에 대해서 배워보겠습니다.

반응형

댓글