< 인스타 클론 코딩 >
내가 맡은 것은 댓글 작성, 목록, 삭제기능 구현이다.
강의자료를 보고 직접 코드를 적으며 따라해봤지만 아직 익숙치않아서 코드는 어렵게 작성을 해봤지만 구현이 어려워 팀장님의 도움을 받아 결국 댓글 작성을 만들었다.
return 할수 있는 방법
def write_comment(request, id):
if request.method == 'POST':
# 데이터를 전달한다 = reqeuset
# 처리된 데이터를 보낸다. = response = return을 통해서 처리
#변수 = request.방식.get("데이터이름")
# request.방식.get("데이터이름") : 데이터가 없으면 None
# request.방식.get("데이터이름","") : 데이터가 없으면 ""값으로 처리
# 댓글 모델(FeedComment)에 필요한것
# - content : 댓글 내용 - Form에서 전달 받은 내용 request ok
# - feed : 속해있는 게시글이 어떤 게시글인지
# - author : 댓글 작성자 - 회원가입시 하기로 했으니깐... 일단 더미 text 값으로 처리 ok
# - created_at : 댓글 생성일자 - DB저장시 자동으로 생성 ok
form_content = request.POST.get("comment")
form_author = "손상훈"
form_feed = Feed.objects.get(id = id) # id(필드)가 form에서 보내준 url 뒤의 번호(2번) 피드를 가져와라!
# DB에 값 넣어 저장하기
new_fc = FeedComment(); #FeedComment테이블에 들어갈 새로운 행 생성
#테이블의 필드가 각각 값을 넣어주기
#new_fc.필드이름 = 넣어줄값.
new_fc.content = form_content
new_fc.author = form_author
new_fc.feed = form_feed
new_fc.save() #값을 다 넣었으니 DB에 저장하자.
# return 할수 있는 방법
# 1. HttpResponse : 바로 값 출력하기
# 2. render : 처리할 결과값을 html로 출력하기
# 3. redirect : 처리할 url로 보내기
# 개발 테스트 진행할때 잘되는지 확인하는 용도. 지금은 이렇게 사용할 예정.
# 'feed/게시글번호'url로 이동
# 게시글 번호를 담고 있는 변수는 id
# python 문자열에 변수 넣기 : f-sting
return redirect(f'/feed/{id}')
변수명은?
1. <int: id > X
2. int X
3. id O
<!-- 1. 피드 댓글 내용을 view.py의 댓글 create로 데이터 넘기기-->
<!-- 1-1. views.py의 댓글을 보내는 위치 파악하기 : sns/comment/write/<int:id> url로 넘기기
- action: 보내는 위치
- method : 보내는 방법 GET/POST 방식 -->
<!-- 1-2. 보내는 데이터의 이름 정하기 : name="데이터이름" -->
<!-- 2. views.py 데이터 받아서 DB에 저장하기 -->
<!-- 2-1. views.py에서 데이터 받기 -->
<!-- 2-2. views.py에서 데이터 DB에 저장하기 -->