반응형
일반적인 form에서 데이터를 보낼떄는 {% csrf_token %}으로 값을 넣으면 된다.
그러면 fetch나, ajax를 활용해서 비동기 처리를 할 경우에는 body에 그대로 넣으려 했는데 동작하지 않았다.
header에 다음과 같이 추가를 해야한다.
fetch("/board/question/vote/",{
method:"POST",
headers:{
"Content-Type": "application/json",
"X-CSRFToken": '{{csrf_token}}'
},
body:JSON.stringify({
vote:'G',
}),
})
.then((response) => response.json())
.then((data) => {
//1. 이미 투표를 한 경우
//2. 처리를 한 경우
console.log(data)
})
.catch((error) => console.log("error:", error));
연습용으로 이것저것 하던 코드인데, X-CSRFToken이 들어간 부분만 보면 된다.
728x90
'python' 카테고리의 다른 글
[python-django]summernote 설치 방법(이미지 업로드까지) - 1부 (0) | 2022.10.21 |
---|---|
[python-django] models.py에서 테이블을 변경하는 경우(미해결) (0) | 2022.10.20 |
[python-django]MVT 패턴 그리고 MVC 패턴 (0) | 2022.10.17 |
[python-django] next 파라미터에 대한 궁금증 (0) | 2022.10.11 |
[python-django]debug toolbar 설치(디버그) (0) | 2022.10.07 |
댓글