다음의 명령어로 새 app을 생성한다.
settings.py에 app을 추가해준다.
westagram/urls.py에 app path를 추가한다.
유저는 게시물을 등록할때 여러개의 사진을 등록할수도, 한 장의 사진만 등록할수도 있다.
따라서 posts
와 images
테이블을 분리해주어야 한다.(원자성에 위배되므로)
models.py를 다음과 같이 작성한다.
posts
테이블의 user
는 전에 만들었던 users
테이블의 id
를 참조한다.images
테이블의 post
는 posts
테이블의 id
를 참조한다.다음의 명령어로 생성한 모델을 마이그레이트 해준다.
import
post생성하는 api 작성
게시글은 회원가입한 유저만 작성할 수 있다. image는 여러장 첨부할 수 있으므로 반복문으로 image테이블에 image url을 저장해준다. 이때 post_id는 생성한 post의 id여야 한다.
posts/urls.py를 생성하고 View path를 추가한다.
posts 테이블과 images 테이블에 잘 저장된 것을 확인할 수 있다.
게시물 가져오는 api 작성
게시물을 나타낼 때에는 등록한 사람, 게시물, 게시된 내용, 게시된 시각이 포함되어야 한다.
view path 추가
아까 저장했던 게시글 이외에도 전에 저장했던 게시글 또한 나오는것을 확인할 수 있다.
게시물 가져오는 api 작성
request.GET['id']
는 GET
요청으로 들어온 id
라는 파라미터를 받는 구문이다.
예를 들어, https://westagram/posts/?id=2
처럼 사용할 수 있다.
view path 추가
id가 3인 유저가 작성한 모든 게시물을 가져온것을 확인 가능하다.