inflearn logo
강의

講義

知識共有

Vue-Django-Bootstrap 뚝딱ブログ

댓글 등록 에러, 도와주세요

576

SHINH KIM

投稿した質問数 4

0

댓글 등록시 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 2564

axios 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)

urls.py

...  
path('post/comment/add/', views.ApiAddComment.as_view(), name='add_comment'),

 

 

@csrf_exempt
class ApiAddComment(BaseCreateView):
...

이런식으로 시도해보니  as_view()가 없다는 에러가 발생해서 이 부분은 포기했습니다.

 

 

bootstrap vuejs django

回答 1

0

bestdjango

안녕하세요. 독자님.

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

SHINH KIM

이것 저것 수정 하다보니 해결 되었습니다.

똑같이 하기에는 복붙코딩 될 것 같아, 강의와는 좀 다르게 진행하다보니 에러가 가끔씩 나오네요

감사합니다.

진도미확인 (진도가 안 넘어감)

0

43

1

자료 화면 문의

0

45

1

(질문)KG이니시스 팝업차단 문제 발생(강의 13. 자바스크립트만으로 포트원 결제 구현하기, 7분18초)

1

173

2

강의에 나왔던 js 파일이 깃허브에 없습니다

1

69

1

RuntimeError: There is no current event loop in thread 'MainThread'

0

87

1

chapter 07-01 실행 오류

0

68

1

따단?

0

248

1

혹시 꼭 파이참을 설치해야하나요?

0

320

1

post detail 임시화면 수업에서

0

310

1

Vue 배포 질문

0

539

1

navbar-logo.svg 404에러

0

537

3

블로그 메모 왼쪽 위치 및 에러

0

3702

1

블로그 리스트 이미지를 클릭했을 때 링크를 읽지 못하고 있습니다.

0

318

2

경로를 찾지 못하고 있습니다

0

224

1

vue CDN 문의

0

224

1

코드 문의

0

243

1

sb-forms-latest.js:5 Uncaught Error: GET_ELEMENTS: -> form[data-sb-form-api-token]

1

1249

2

blog list가 나오지 않습니다.

0

242

1

궁금한게있어 질문드립니다!

0

262

1

Django admin 계정 생성방법

0

448

2

Internal 500 서버오류 질문드립니다

0

326

3

안녕하세요 좋은강의 감사합니다 오류때문에 질문드려요

0

357

3

소스요청

0

330

2

안녕하세요 오류가 있서서 봐주세요

0

229

1