Weekly I learned 5

손상훈·2022년 10월 3일
0

< 인스타 클론 코딩 >

  • 내가 맡은 것은 댓글 작성, 목록, 삭제기능 구현이다.
    강의자료를 보고 직접 코드를 적으며 따라해봤지만 아직 익숙치않아서 코드는 어렵게 작성을 해봤지만 구현이 어려워 팀장님의 도움을 받아 결국 댓글 작성을 만들었다.

  • return 할수 있는 방법

  1. Httpresponse : 바로 값 출력하기
  2. render : 처리할 결과값을 html로 출력하기
  3. redirect : 처리할 url로 보내기

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}')
  • path('url/<데이터타입 : 변수>')

변수명은?
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에 저장하기 -->
                            


profile
< 코린이의 코딩모험기 >

0개의 댓글