Django 015 | WeStagram #7 Comment

This Is Empty.·2021년 9월 27일
0

Django

목록 보기
16/20

WeStagram Comment

  • 유저는 포스트에 댓글을 달 수 있다.
    - 댓글에는 유저 아이디, 댓글 내용, 댓글을 단 시각이 포함된다.

1. Comment 모델 생성

인스타그램에 댓글을 달기 위해서는 댓글이 달린 게시물, 댓글을 다는 사용자, 생성시간, 댓글의 내용이 포함되어야 한다.

posts/models.py에 다음과 같이 Comment 모델을 추가해주었다.

가입한 유저가 이미 작성되어있는 게시물에만 댓글을 달 수 있다.
comments테이블을 users테이블, posts테이블을 ForignKey로 연결해준다.


작성 후 migrate 해준다.


⬆️ 데이터베이스에 적용 된 모습

2. Comment View 생성

댓글 등록

댓글은 존재하는 유저가 존재하는 게시물에만 달 수 있으므로 해당 유저와 게시물이 데이터베이스에 존재하는지 검사하고 둘 다 존재한다면 객체를 생성한다.

view path 추가

생성한 뷰를 사용하기 위해 posts/urls.py에 view path를 추가해준다.

테스트

댓글 표출

댓글은 보통 특정 게시물을 기준으로 분류된다.
각 게시물에 달리 댓글을 작성하는 뷰를 다음과 같이 만들었다.

id파라미터를 받아 post객체를 가져오고, 해당 post의 모든 댓글들을 가져온다.

view path 추가


생성한 뷰를 사용하기 위해 posts/urls.py에 view path를 추가해준다.

테스트

데이터 베이스안에 있는 post_id = 26인 포스트에 달린 모든 댓글을 가져온 모습

profile
Convinced myself, I seek not to convince.

0개의 댓글