스터디 목표
오늘날 많은 블로깅 플랫폼에서 볼 수 있는 기능으로 블로그 애플리케이션의 기능을 확장한다.
(1) 모델에 표준 URL 사용하기
- 표준 URL을 사용하면 페이지의 마스터 사본에 대한 URL을 지정할 수 있는데 장고의 경우 get_absolute_url() 메서드를 구현해서 객체의 표준 URL을 반환할 수 있다.
- 애플리케이션의 URL 패턴에 정의된 post_detail URL을 사용해서 Post 객체에 대한 표준 URL을 만든다.
(2) 검색엔진최적화(SEO)에 부합하는 게시물 URL 만들기
- 마이그레이션을 사용해서 모든 모델 변경 사항을 추적한다.
- 모델의 현재 상태와 일치시키기 위해 마이그레이션을 생성한다.
- Terminal에서 다음과 같은 명령을 실행한다.
python manage.py makemigrations blog
python manage.py migrate
(3) URL 패턴 수정하기
- 게시물 상세 URL에 게시 날짜와 슬러그를 사용하도록 URL 패턴을 수정한다.
(4) 뷰 수정하기
- 새로운 URL 매개 변수와 일치하도록 post_detail 뷰의 매개 변수를 변경하고 이를 사용해서 해당 Post 객체를 조회한다.
- 날짜와 슬러그를 사용해서 단일 게시물을 조회할 수 있다.
(5) 게시물의 표준 URL 수정하기
- 새로운 URL 매개 변수와 일치하도록 블로그 게시물의 표준 URL 매개 변수를 수정한다.
(6) 게시물 목록 뷰에 페이징 추가하기
- blog 애플리케이션의 view.py 파일을 편집해서 장고의 Paginator 클래스를 임포드하고 post_list 뷰를 수정한다.
(7) 페이징 템플릿 만들기
- 사용자가 다른 페이지들을 조회할 수 있도록 페이지 네비게이션을 만들어야 한다.
- 페이징 링크를 표시하는 템플릿을 생성한다.
- 웹사이트에서 다른 객체들의 페이징에서도 템플릿을 재사용할 수 있도록 일반화하기 위해 templates/ 디렉터리에서 pagination.html 파일을 만들고 코드를 추가한다.