Westagram #5
投稿にコメントを登録する
djangoは、処理したデータに基づいてアプリケーションを分離管理します.
投稿テーブルとコメントテーブルを別々にして、個別のアプリケーションで管理できます.
このプロジェクトでは、同じアプリケーションで2つのデータを管理します.
コメントモデルの作成
投稿を管理するPosting
アプリケーションで投稿を管理するテーブルを作成するには、次のモデルを生成します.
Comment
クラスを作成します.
コメントを書いたuser
、
投稿post
コメント作成時間created_at
、
コメント内容content
を作成します.Foreign Key
を使用して、投稿のユーザーとすでに加入している人(アカウント)を連絡し、登録された投稿と連絡します.
コメントビューの作成
登録コメント
if Account.objects.filter(email = data['email']).exists():
# 요청받은 이메일이 존재하는지 확인
user = Account.objects.get(email = data['email'])
# 존재한다면 user에 해당 사용자 정보 할당
if Post.objects.filter(id = data['post_number']).exists():
# 요청받은 게시물 번호에 맞는 게시물이 존재하는지 확인
post = Post.objects.get(id = data['post_number'])
# 존재한다면 post에 해당 게시물 정보 할당
# 요청받은 정보들로 데이터 생성
Comment(
user = user,
post = post,
content = data['content'],
).save()
# 에러메시지와 코드 반환
return JsonResponse({'MESSAGE': 'SUCCESS'}, status=200)
return JsonResponse({'MESSAGE': 'INVALID_POST'}, status=401)
return JsonResponse({'MESSAGE': 'INVALID_USER'}, status=401)
コメント
特定の投稿に基づいて分類するクラスを作成します.def get(self, request): # get 메소드 사용
data = json.loads(request.body) # 요청의 body
post_id = data['post_number'] # 요청받은 게시물 번호에 해당하는 게시물
comment_list = list(Comment.objects.filter(post_id = post_id).values())
# 해당 게시물에 달린 모든 댓글 정보
return JsonResponse({'comment_list': comment_list}, status=200)
# 댓글 리스트 및 코드 반환
2番の投稿に登録されたコメント情報をロードすれば、上記のコメントリストを確認できます.
整理する
Reference
この問題について(Westagram #5), 我々は、より多くの情報をここで見つけました
https://velog.io/@rin0702/Westagram-5
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
if Account.objects.filter(email = data['email']).exists():
# 요청받은 이메일이 존재하는지 확인
user = Account.objects.get(email = data['email'])
# 존재한다면 user에 해당 사용자 정보 할당
if Post.objects.filter(id = data['post_number']).exists():
# 요청받은 게시물 번호에 맞는 게시물이 존재하는지 확인
post = Post.objects.get(id = data['post_number'])
# 존재한다면 post에 해당 게시물 정보 할당
# 요청받은 정보들로 데이터 생성
Comment(
user = user,
post = post,
content = data['content'],
).save()
# 에러메시지와 코드 반환
return JsonResponse({'MESSAGE': 'SUCCESS'}, status=200)
return JsonResponse({'MESSAGE': 'INVALID_POST'}, status=401)
return JsonResponse({'MESSAGE': 'INVALID_USER'}, status=401)
def get(self, request): # get 메소드 사용
data = json.loads(request.body) # 요청의 body
post_id = data['post_number'] # 요청받은 게시물 번호에 해당하는 게시물
comment_list = list(Comment.objects.filter(post_id = post_id).values())
# 해당 게시물에 달린 모든 댓글 정보
return JsonResponse({'comment_list': comment_list}, status=200)
# 댓글 리스트 및 코드 반환
Reference
この問題について(Westagram #5), 我々は、より多くの情報をここで見つけました https://velog.io/@rin0702/Westagram-5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol