Как разрешить спокойные POST-вызовы веб-службы с защитой Django Piston и CSRF? - PullRequest
1 голос
/ 21 августа 2011

Я новичок в django-pneon и не могу заставить работать вызовы веб-службы POST из-за защиты CSRF от Django. Как разрешить вызовам веб-сервисов обходить защиту CSRF и при этом разрешить остальным веб-страницам сохранять их?

Ответы [ 2 ]

3 голосов
/ 21 августа 2011

Нашел решение: https://bitbucket.org/jespern/django-piston/issue/82/post-requests-fail-when-using-django-trunk, Кредит переходит к Брайану Самбрано.

Меня немного раздражает, что ему два года, патч создан и до сих пор не объединен с последним источником.

Чтобы исправить это, примените патч к файлу поршню / resource.py, добавив self.csrf_exempt = getattr (self.handler, 'csrf_exempt', True) , как показано ниже:

         self.handler = handler()
+        self.csrf_exempt = getattr(self.handler, 'csrf_exempt', True)

         if not authentication:
             self.authentication = NoAuthentication()
0 голосов
/ 21 августа 2011

Зачем вам это нужно? CSRF - это простая проверка домена ... но если она вам действительно нужна, ответ в документации: https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#csrf-protection-should-be-disabled-for-just-a-few-views

...