2011-12-19 2 views
13

최근에 일부 뷰 기능을 일반 뷰로 변환하기 시작했습니다. POST 요청 (AJAX 양식 사용)을 처리 할 것으로 예상되는 함수를 변환하면 "405 Method not allowed"HTTP 예외가 발생합니다. 이 아님 CSRF : Ajax가 올바른 토큰을 보내고 일반보기를보기 기능으로 다시 변경합니다 (테스트 케이스에서는 본질적으로 동일합니다). 문제를 해결하고 마지막으로 테스트 목적으로, CSRF 미들웨어를 비활성화했습니다. 비슷한 문제가 발생 했습니까?django : 일반 클래스 뷰 + POST = HTTP 405 (허용되지 않는 메소드)

답변

17

클래스 기반보기를 사용하고 있다고 가정합니다. 그렇다면보기에서 post 메서드를 정의하거나 해당 함수를 사용하는 mixin (예 : django.views.generic.edit.ProcessFormView)을 사용해야합니다. 이것이 왜 필요한지 완전히 이해하려면 dispatch 방법을 django.views.generic.base.View으로보십시오.

+0

감사합니다. 배송 방법으로 모든 것이 설명됩니다! – migajek

+1

끝에 내 슬래시로 URL을 끝내지 않았습니다. 그건 내 문제 였어. – Antony