전체보기

    13. 테스트 주도 개발(TDD)을 이용한 블로그 기능 구현 목차 개요

    ●테스트 주도 개발 적용 ●템플릿 모듈화 ●다대일 관계 구현 ●다대다 관계 구현 ●폼으로 포스트 작성과 수정 기능 구현 ●외부 라이브러리를 블로그에 활용 ●폼으로 댓글 기능 구현 ●기타 편의 기능 구현 ●대문 페이지와 자기소개 페이지 완성

    12. 템플릿 파일에서 if문 사용, 다운로드 버튼 만들기, 템플릿 필터 사용

    12. 템플릿 파일에서 if문 사용, 다운로드 버튼 만들기, 템플릿 필터 사용

    ●포스트 목록 페이지 개선 이미지 파일을 추가할 수 있도록 폴더와 URL을 지정했더니 이미지 없이는 포스트를 올릴 수 없게 되어 버렸다. 세상 어떤 블로그가 무조건 이미지를 올려야지만 포스트를 할 수 있단 말인가? 따라서 if문을 이용하여 이미지 파일이 없을시 임의의 이미지를 가져와 출력하도록 하여 해결한다. 현재 블로그는 포스트 글의 길이가 어떤지간에 본문 내용 전체를 보여준다. 애초에 목록인데 글 전체를 길게 보여준다면 목록이라는 제 기능을 하지 못하고 있는 상태이므로 간단하게 미리보기 기능을 추가하여 이를 해결하도록 한다. ● 템플릿 파일에서 if문 사용 if-else 문으로 조건에 따라 이미지 보여주기 이미지가 있는 경우 최초로 html에서 if문을 사용해 보기위해 post_list.html 파일..

    11. 미디어 파일 관리

    11. 미디어 파일 관리

    ● 포스트에 이미지 올리기 이미지 폴더 지정 Django는 이미지 업로드를 위한 ImageField를 제공해준다. 이를 이용하기 위해서는 어디에 저장할지, 업로드된 이미지 폴더의 URL을 어떻게 할지 settings.py파일에 설정해야 한다. 이미지 파일을 프로젝트 폴더 아래 '_media' 라는 이름의 하위 폴더를 만들고 저장하도록 설정하였다. 또한 MEDIA_URL 은 /media/ 로 지정하였다. 즉 도메인이나 ip 뒤에 /media/ 경로가 붙으면 미디어 파일을 사용하겠다는 의미이다. blog/models.py 파일을 수정한다. upload_to에 이미지를 저장할 폴더 경로를 설정한다. 경로상 blog 폴더의 하위폴더로 images폴더와 그 하위 폴더로 년/월/일 까지 내려간 위치에 이미지를 저장..

    10. 정적 파일 관리

    10. 정적 파일 관리

    HTML만 가지고 웹 개발하기에는 너무 밍밍하다 마치 80, 90년도 홈페이지를 보는거 같으니 Bootstrap과 CSS, 이미지 파일로 보기좋게 꾸며 보도록 하겠다. ● 포스트 목록 페이지에 Bootstrap 적용 blog_list.html 수정, static 폴더에 css 파일 관리, 경로 지정 이전에 작성한 blog_list 파일을 post_list.html 파일에 그대로 붙여넣기를 하면 아래와 같이 딱 봐도 제대로 작동이 되지 않음을 알 수 있다. 분명히 bootstrap.min.css 파일이 존재 함에도 인식하지 못하고 있는 상태이다. 이는 Django의 MTV 구조는 html 확장자가 붙은 파일은 views.py가 정의한 내용에 따라 내용들이 채워지게 되므로 정적인 파일이 아니라고 본다. 그렇..