2011-12-19 65 views
13

Gần đây tôi đã bắt đầu chuyển đổi một số chức năng chế độ xem sang Chế độ xem chung. Chuyển đổi chức năng được mong đợi để xử lý yêu cầu POST (thông qua biểu mẫu AJAX) dẫn đến ngoại lệ HTTP "405 Phương thức không được phép". Tôi chắc chắn là không phải về CSRF: Ajax gửi mã thông báo hợp lệ, thay đổi chế độ xem chung để xem hàm (trong trường hợp thử nghiệm, về cơ bản chúng giống nhau) khắc phục sự cố và - cuối cùng - cho mục đích thử nghiệm, Tôi đã vô hiệu hóa phần mềm trung gian CSRF. Có ai gặp phải sự cố tương tự không?django: chế độ xem lớp chung + POST = HTTP 405 (Phương pháp không được phép)

Trả lời

17

Tôi cho rằng bạn đang sử dụng chế độ xem dựa trên lớp học. Nếu vậy, bạn cần xác định phương thức post trong chế độ xem của bạn hoặc sử dụng mixin (ví dụ: django.views.generic.edit.ProcessFormView). Nếu bạn muốn hiểu đầy đủ lý do tại sao điều này là cần thiết, hãy xem phương thức dispatch của django.views.generic.base.View.

+0

cảm ơn, phương thức công văn giải thích mọi thứ! – migajek

+1

Tôi không kết thúc url của mình bằng dấu gạch chéo ở cuối. Đó là vấn đề của tôi. – Antony

Các vấn đề liên quan