[Django] ORM with View

Yujin·2023년 10월 4일
0
post-thumbnail

Create

  • Create 로직을 구현하기 위해 필요한 view 함수의 개수 : 2개

    1. new : 사용자 입력 데이터를 받을 페이지를 렌더링
    2. create : 사용자가 입력한 데이터를 받아 DB에 저장

HTTP request methods

  • HTTP : 네트워크상에서 데이터를 주고 받기 위한 약속
  • HTTP request methods : 데이터(리소스)에 어떤 요청(행동)을 원하는지 나타내는 것
  • HTTP response status code
    • 403 Forbidden : 서버에 요청이 전달되었지만, 권한 때문에 거절되었음을 의미
      • CSRF (Cross Site Request Forgery)

        • 사이트 간 요청 위조
        • 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하여 특정 웹 페이지를 보안에 취약하게 하거나 수정, 삭제 등의 작업을 하게 만드는 공격 방법
        • CSRF Token 적용
          • DTL의 csrf_token 태그를 사용하여 사용자에게 토큰 값을 부여
          • 요청시 토큰 값도 함께 서버로 전송될 수 있도록 함
        • 요청시 CSRF Token을 함께 보내야 하는 이유
          • Django 서버는 해당 요청이 Django가 직접 제공한 페이지에서 데이터를 작성하고 있는 것인지에 대한 확인 수단이 필요
          • 겉모습이 똑같은 위조 사이트나 정상적이지 않은 요청에 대한 방어 수단

redirect()

  • 클라이언트가 인자에 작성된 주소로 다시 요청을 보내도록 하는 함수
  • 게시글 작성 후 완료를 알리는 페이지를 응답
  • 데이터 저장 후 페이지를 주는 것이 아닌, 다른 페이지로 사용자를 보내야 한다.
    • 사용자를 보낸다. = 사용자가 GET 요청을 한 번 더 보내도록 한다.

Update

  • Update 로직을 구현하기 위해 필요한 view 함수의 개수 : 2개
    1. edit : 사용자 입력 데이터를 받을 페이지를 렌더링
    2. update : 사용자가 입력한 데이터를 받아 DB에 저장

0개의 댓글