2011-12-19 20 views
13

Ostatnio zacząłem konwertować niektóre funkcje widoku na widoki ogólne. Konwertowanie funkcji, która miała obsłużyć żądanie POST (za pośrednictwem formularza AJAX), powoduje wyjątek HTTP "Metoda 405". Jestem pewien, że jest nie o CSRF: Ajax wysyła ważny token, zmieniając ogólny widok z powrotem na funkcję widoku (w przypadku testowym są zasadniczo takie same) rozwiązuje problem, i - na koniec - dla celów testowych, Wyłączyłem oprogramowanie pośredniczące CSRF. Czy ktoś miał podobne problemy?django: ogólny widok klasy + POST = HTTP 405 (Metoda niedozwolona)

Odpowiedz

17

Przypuszczam, że używasz widoków opartych na klasach. Jeśli tak, to musisz zdefiniować metodę post w swoim widoku lub użyć mixinu, który to robi (na przykład: django.views.generic.edit.ProcessFormView). Jeśli chcesz w pełni zrozumieć, dlaczego jest to konieczne, spójrz na dispatch metodę .

+0

dzięki, metoda wysyłki wyjaśnia wszystko! – migajek

+1

Na końcu nie kończyłem adresu URL. To był mój problem. – Antony

Powiązane problemy