Почему мой сервер разработки django продолжает отвечать 403, как мне разрешить POST? - PullRequest
0 голосов
/ 29 ноября 2011

Итак, у меня есть сервер разработки django, который я хочу использовать в качестве бэкенда для своего приложения для Android.В настоящее время я просто запускаю сервер разработки на своей локальной машине.

Мне удалось успешно получить данные с сервера, но сейчас я пытаюсь POST данных на сервер через объект JSON, однако в ответ я получаю код ошибки 403.Метод в моем файле views.py даже не вызывается, он просто автоматически отвечает 403. Вот как выглядит ответ сервера в терминале.

 [28/Nov/2011 17:58:40] "POST /createUser/ HTTP/1.1" 403 2326

Вот URL в моих URL.py

 url(r'^createUser/$', 'mydb.views.createUser'),

Но я всегда получаю эту ошибку 403, кто-нибудь знает почему?

Возможно также важно:

, когда я удаляю django.contrib.auth и django.contrib.contenttypesс INSTALLED_APPS Я получаю другую распечатку с сервера в терминале: (вместо этого код ошибки 500)

 [28/Nov/2011 17:32:31] "POST /createUser/ HTTP/1.1" 500 82471

Так что я думаю, что происходит какая-то проблема с разрешениями.

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Для быстрого исправления попробуйте добавить к представлению декоратор @csrf_exempt:

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def createUser(request):

Тем не менее, для внутреннего интерфейса API, безусловно, читайте о CSRF

0 голосов
/ 29 ноября 2011

Я прочитал следующую ссылку о токенах CSRF: docs.djangoproject.com/en/dev/ref/contrib/csrf

Затем я отключил промежуточное ПО, так как пока что я только на локальном хосте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...