Backend
![27. 폼으로 댓글 기능 구현(댓글 수정, 삭제 기능 구현)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbKhWvD%2FbtrLlERANag%2Fs2Pgbub9g33esd9whHQDD0%2Fimg.png)
27. 폼으로 댓글 기능 구현(댓글 수정, 삭제 기능 구현)
● 댓글 수정 기능 구현 댓글 수정 버튼 테스트 댓글을 작성 하였으나 수정 할 수 없다면 정말 난감 할 것이다. 그러므로 수정 버튼을 만들어 수정 할 수 있도록 한다. 테스트 코드 작성 후 post_detail.html 파일 수정 이전에 comment를 2개 작성 하였으므로 이를 참고하여 테스트 코드를 작성한다. 테스트 코드 수정 추가적인 테스트를 위해 def test_comment_update에 내용을 추가한다. 댓글 수정 페이지 만들기 urls.py에 댓글 수정 페이지 경로를 추가한다. update_comment// 경로에서 쓸 CommentUpdate 클래스를 views.py파일에 추가한다. models.py에서 Comment class를 가져온다. urls.py에서 추가한 코드가 인식 할 수 있도..
![26. 폼으로 댓글 기능 구현(댓글 작성 폼 구현)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FciL7lb%2FbtrLgqHaBL5%2FEkzQ5aYGYF1zRosdMughL1%2Fimg.png)
26. 폼으로 댓글 기능 구현(댓글 작성 폼 구현)
● 댓글 작성 폼 구현 댓글 작성 폼을 위한 테스트 코드 작성 비로그인시 댓글 입력 폼이 안 보이게 하고 로그인을 해야지만 Log in 버튼이 보여야 한다. 당연하게도 관련된 템플릿을 수정하지 않았으므로 테스트에 통과하지 못한다. 로그인 상태에 따라 댓글 입력란 혹은 로그인 버튼 나타내기 post_detail.html 파일에서 comment 폼에 해당하는 곳을 수정한다. if문 이용으로 로그인시 폼이 보이고 비로그인시 모달을 나타낼 수 있는 버튼을 만들어 본다. 모달은 내비게이션 바에 정의되어 있다. data-toggle과 data-target을 내비게이션 바의 로그인 버튼과 동일하게 설정하여 버튼 클릭시 로그인 모달이 나타나게 만든다. CommentForm 구현 forms.py 만들고 필드 추가 mod..
![25. 폼으로 댓글 기능 구현(Comment 모델, 상세 페이지에 댓글 기능 반영)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FCNlXm%2FbtrKMnD3NNY%2FF7Ld2YLay9jZ5cSINUIF1K%2Fimg.png)
25. 폼으로 댓글 기능 구현(Comment 모델, 상세 페이지에 댓글 기능 반영)
● Comment 모델 만들기 models.py에 Comment 모델 추가 후 migration post는 어느 포스트에 작성한 댓글인지를 저장하는 변수다. author은 누가, content는 댓글 내용을 저장하고, created_at은 댓글 작성일시, modified_at은 수정일시를 저장한다. 여러 댓글들이 작성될 수 있도록 post 필드는 ForeignKey로 설정한다. 그리고 아래쪽에는 author와 content를 출력하게 해주는 __str__() 함수를 만든다. DB에 반영하기 위해 migration 한다. 댓글 작성 페이지 확인 blog/admin.py를 수정하여 관리자 페이지에서 댓글을 관리 할 수 있도록 한다. ● 포스트 상세 페이지에 댓글 기능 반영 댓글 기능을 구현했으니 실제로 페이..
![24. 외부 라이브러리를 블로그에 활용(회원가입 & 로그인 기능 구현)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFKOHT%2FbtrKzNWbiWS%2F1xc3RAOavi2unrpo7u3drK%2Fimg.png)
24. 외부 라이브러리를 블로그에 활용(회원가입 & 로그인 기능 구현)
django-allauth 설치 allauth는 구글, 카카오, 페이스북으로 로그인하는 기능 구현을 쉽게 해주는 라이브러리다. settings.py 파일 수정 새로 설치한 라이브러리를 적용하기 위해 INSTALLED_APP에 추가한다. 아래쪽은 인증관련 코드를 입력한다. django_blog_project/urls.py 파일 수정 allauth가 사용할 수 있는 URL 경로를 추가한다. DB에 반영 django-allauth 적용 구글 개발자 콘솔에서 새 프로젝트와 클라이언트 만들기 구글에 개발자 콘솔(console.developers.google.com)에서 웹 사이트를 등록해야 구글 계정으로 등록할 수 있게 해준다. 구글 계정을 가진 모든 이들이 사용할 수 있도록 User Type을 외부로 설정한다...