댓글 등록 에러, 도와주세요
574
4 asked
댓글 등록시 csrf 에러가 발생합니다.
에러 코드
Forbidden (CSRF token from the 'X-Csrftoken' HTTP header has incorrect length.): /api/post/comment/add/
[10/Jan/2023 00:47:03] "POST /api/post/comment/add/ HTTP/1.1" 403 2564
Forbidden (CSRF token from the 'X-Csrftoken' HTTP header has incorrect length.): /api/post/comment/add/
[10/Jan/2023 01:01:20] "POST /api/post/comment/add/ HTTP/1.1" 403 2564axios code
onSubmitForm() {
let form = new FormData();
form.set("post", this.post?.id);
form.set("content", this.commentValue);
axios
.post("/api/post/comment/add/", form, {
// headers: { "X-CSRFToken": "{{csrf_token}}" },
})
.then((res) => {
console.log(res.data);
});
},views.py
...
class ApiAddComment(BaseCreateView):
model = Comment
fields = '__all__'
def form_valid(self, form):
self.object = form.save()
comment = obj_to_comment(self.object)
return JsonResponse(data=comment, safe=True, status=201)
def form_invalid(self, form):
return JsonResponse(data=form.errors, safe=True, status=400)
...
path('post/comment/add/', views.ApiAddComment.as_view(), name='add_comment'),
@csrf_exempt
class ApiAddComment(BaseCreateView):
...
이런식으로 시도해보니 as_view()가 없다는 에러가 발생해서 이 부분은 포기했습니다.
Answer 1
0
안녕하세요. 독자님.
CSRF 관련 아래 코드를 <script> 내 상단에 넣었는지요 ?
<script>
axios.defaults.xsrfCookieName = 'csrftoken';
axios.defaults.xsrfHeaderName = 'X-CSRFTOKEN';그리고 참고로 CBV에 데코레이터를 붙일 때는, 아래 내용 참고하세요.
https://docs.djangoproject.com/en/4.1/topics/class-based-views/intro/#decorating-the-class
진도미확인 (진도가 안 넘어감)
0
41
1
자료 화면 문의
0
40
1
(질문)KG이니시스 팝업차단 문제 발생(강의 13. 자바스크립트만으로 포트원 결제 구현하기, 7분18초)
1
163
2
강의에 나왔던 js 파일이 깃허브에 없습니다
1
67
1
RuntimeError: There is no current event loop in thread 'MainThread'
0
84
1
chapter 07-01 실행 오류
0
67
1
따단?
0
244
1
혹시 꼭 파이참을 설치해야하나요?
0
318
1
post detail 임시화면 수업에서
0
309
1
Vue 배포 질문
0
536
1
navbar-logo.svg 404에러
0
536
3
블로그 메모 왼쪽 위치 및 에러
0
3701
1
블로그 리스트 이미지를 클릭했을 때 링크를 읽지 못하고 있습니다.
0
316
2
경로를 찾지 못하고 있습니다
0
223
1
vue CDN 문의
0
223
1
코드 문의
0
241
1
sb-forms-latest.js:5 Uncaught Error: GET_ELEMENTS: -> form[data-sb-form-api-token]
1
1247
2
blog list가 나오지 않습니다.
0
240
1
궁금한게있어 질문드립니다!
0
260
1
Django admin 계정 생성방법
0
446
2
Internal 500 서버오류 질문드립니다
0
322
3
안녕하세요 좋은강의 감사합니다 오류때문에 질문드려요
0
354
3
소스요청
0
328
2
안녕하세요 오류가 있서서 봐주세요
0
226
1

