🫧
로그인
🫧
로그인
[Django] ORM with View
Yujin
·
2023년 10월 4일
팔로우
0
django
0
Create
Create 로직을 구현하기 위해 필요한 view 함수의 개수 : 2개
new
: 사용자 입력 데이터를 받을 페이지를 렌더링
create
: 사용자가 입력한 데이터를 받아 DB에 저장
HTTP request methods
HTTP : 네트워크상에서 데이터를 주고 받기 위한 약속
HTTP request methods : 데이터(리소스)에 어떤 요청(행동)을 원하는지 나타내는 것
GET
특정 리소스를 조회하는 요청
GET으로 데이터를 전달하면 Query String 형식으로 보내짐
http://127.0.0.1:8000/articles/create/?title=제목&content=내용
POST
특정 리소스에 변경(생성, 수정, 삭제)을 요구하는 요청
POST로 데이터를 전달하면 HTTP Body에 담겨 보내짐
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개
edit
: 사용자 입력 데이터를 받을 페이지를 렌더링
update
: 사용자가 입력한 데이터를 받아 DB에 저장
Yujin
팔로우
이전 포스트
[Django] ORM
다음 포스트
[Django] Form
0개의 댓글
댓글 작성