Django CRUD를 학습하면서, Dear 프로젝트를 만들어 볼 것이다. Dear은 Daily Events and Affective Reactions의 약어다.서비스의 주요 특징은 사용자가 오늘 하루 있었던 일과 관련된 경험 태그 하나와 그로 인해 느낀 감정 태그 하
모델의 데이터가 비어있는 경우 빈 페이지를 보여주기 보다는, 데이터가 비어있음을 안내해야 한다.if문을 통해 작성된 html을 살펴본다.템플릿 태그 if 를 활용posts가 있다면, 각 포스트의 내용을 불러오고posts가 없다면 <p>태그로 등록된 게시글이 없음을
<Dear> 프로젝트에서 기존에 작성된 뷰는 게시글을 불러올 때 Post 모델에서 id가 post_id와 일치하는 게시글을 불러왔다.그러나 post_id와 일치하는 게시글이 없는 경우 에러 페이지를 렌더했다. 이 경우 유저는 잘못된 접근인지, 서버 오류인지를 구분
<dear>프로젝트에서 더미 데이터를 삽입하려 한다. 데이터를 삽입하는 것을 seeding 이라고 한다. 이번에는 데이터를 시딩하는 두 가지 방법을 알아본다.loaddata는 미리 작성된 데이터 파일을 통해 데이터를 시딩하는 방법이다.데이터 파일은 json 또는
데이터 시딩을 통해 더미데이터를 추가했지만, 유효성이 관리되지 않는다. 따라서 본 포스팅은 `` 프로젝트에 추가된 더미데이터를 유효성 검증에 통과된 데이터로 변경하는 방법을 알아본다. 1. 더미데이터 확인 >데이터 시딩을 통해 생성된 데이터 중, 유효성 검증에 통과하
페이지 네이션을 만드는 방법을 알아본다.먼저 뷰를 수정해야 한다.장고의 페이지네이터를 불러온다.post_list 함수를 수정한다.요청으로부터 page 파라미터에 인자를 넘겨받아 변수 page에 지정한다. 만약 넘겨받은 인자가 없다면 1로 간주한다.변수 posts의 데이
지금까지는 함수형 뷰를 사용했다. 함수형 뷰는 모든 로직을 직접 구현하기 때문에 직관적이지만, 클래스형 뷰를 사용하면 이미 작성된 상위 클래스를 상속받을 수 있어 더 간편하고 빠르게 뷰를 작성할 수 있다.우리는 이미 클래스를 사용했다. <dear> 프로젝트의 Po
클래스형 뷰가 개발자들이 자주 쓰는 기능들을 상위 클래스로 상속받아 사용한다면, 제네릭 뷰는 상속받을 수 있는 이미 만들어진 상위 클래스를 말한다.CRUD에서 Read에 해당하는 클래스형 함수를 만들 때, 모델에 접근해 데이터를 불러오는 코드를 직접 작성하지 않고도 L
이전 포스팅에서는 게시글 작성 페이지를 CreateView를 통해 구현하는 방법을 배웠다. 본 포스팅에서는 게시글 목록 페이지를 ListView를 통해 구현하는 방법을 알아본다.기존에 작성된 함수형 뷰는 아래와 같다. 주석처리 해준다.다시봐도 상당히 복잡하다.ListV
장고의 DetailView 제네릭 뷰를 상속받는 상속 페이지를 구현하는 방법을 알아본다.기존에 작성된 함수형 뷰 post_detail은 아래와 같다. 주석처리 해준다.DetailView를 상속받는 클래스형 뷰를 생성한다.접근할 모델을 정의하고, 렌더할 템플릿을 정의하고
제네릭 뷰와 관련된 이전 포스팅에서 반복했던 내용이기 때문에 간단하게 작성한다.기존에 작성한 함수형 뷰는 아래와 같다. 주석처리 한다.UpdateView 를 상속받는 클래스형 뷰 PostUpdateView를 작성한다.포스트 수정 페이지는 수정 후 해당 포스트의 상세 페
반복된 내용을 작성하기가 매우 힘이드니 약식으로 설명한다.삭제 확인 페이지로 이동하기 위해 post_confirm_delete.html 템플릿을 렌더한다.삭제 후 포스트 목록 페이지로 이동한다.
제네릭 뷰에서는 context로 넘겨주는 데이터의 기본값이 있다. 즉, 지정해주지 않아도 자동으로 넘겨주는 데이터가 있으니 코드를 더 단순하게 작성할 수 있다.ListView에서 기본값이 할당된 데이터를 알아본다.template_name기본값은 모델명\_list.htm