Форум сайта python.su
Не получается делать запросы из Flash(AS3) к Django 1.2.
Flash находится в том же домене, в каталоге статики.
Авторизация, загрузка прочих страниц и загрузка страницы с флэшем выполняются нормально.
При POST запросе с параметрами из флэша
AS3 выдает Error #2032 (ошибка потока), а Django - 403 Forbiden “CSRF verification failed” и не пропускает до вьюхи.
в settings.py Подключено
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.csrf.middleware.CsrfMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'multilingual.middleware.DefaultLanguageMiddleware',
'django.middleware.locale.LocaleMiddleware',
)
from django.views.decorators.csrf import csrf_protect
#@csrf_protect
#@login_required
def flash_handler(request):
test=request.POST.get('test')
return HttpResponse(test,mimetype='text/html')
Отредактировано (Апрель 12, 2010 18:37:10)
Офлайн
попробуй django.middleware.csrf.get_token() получать и отправлять вместе с POST запросом
либо заверни в @csrf_exempt
Офлайн
slav0nic@csrf_exempt - помогло. Попробую token передать, только как? В заголовке?
попробуй django.middleware.csrf.get_token() получать и отправлять вместе с POST запросом
либо заверни в @csrf_exempt
Отредактировано (Апрель 12, 2010 19:39:34)
Офлайн
я не знаком с флешем, но наверно можно ж как-то передать из питона, банальным гетом и обратно в POST запросе в переменной csrfmiddlewaretoken, но надо ли оно тебе?)
Офлайн