Уведомления

Группа в Telegram: @pythonsu

#1 Июль 18, 2010 18:56:17

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

Всем привет. В дебагсервере постоянно вылезает ошибка
CSRF token missing or incorrect.
Когда отправляю данные из формы

Собственно перечитал документацию. Что сделано, для устранения ошибки (все по мануалам)
в settings.py 'django.middleware.csrf.CsrfViewMiddleware' - есть
в views.py

from django.views.decorators.csrf import csrf_protect
#.....
@csrf_protect
def my_function_render_form(request):
#....
И все равно вылезает ошибка :( Что можно еще сделать?



Офлайн

#2 Июль 18, 2010 19:24:10

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

в форму надо вставить тег, например так:

<form action="" method="post">{% csrf_token %}



Офлайн

#3 Июль 18, 2010 19:39:07

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

Ой, забыл! Упомянуть!
Тоже такое вставил! И не помогло :(



Офлайн

#4 Июль 18, 2010 19:42:46

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

Add the middleware ‘django.middleware.csrf.CsrfViewMiddleware’. ……..
Alternatively, you can use the decorator django.views.decorators.csrf.csrf_protect on particular views you want to protect (see below).

Убери декоратор @csrf_protect. Может поможет.



Офлайн

#5 Июль 18, 2010 20:02:32

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

Неа, не помогло.
Может что-то упускаю из виду.. У меня однажды такая ситуация была ) Но я как-то ее быстро решил… Сейчас уже 4 часа прошло, я все не разберусь…



Офлайн

#6 Июль 18, 2010 20:28:06

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

Все! нашел в хелпе (блин, запихнули в самые дебри)
В settings.py неоходимо добавить
'django.middleware.csrf.CsrfResponseMiddleware',
В раздел MIDDLEWARE конечно =)

После этого вообще больше ничего не нужно - ни декоратора @csrf_protect, ни блока {% csrf_token %}



Офлайн

#7 Июль 18, 2010 21:09:00

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

Ты же писал, что
“в settings.py ‘django.middleware.csrf.CsrfViewMiddleware’ - есть”… хех)
Ну, ок. Главное, что разобрался)



Офлайн

#8 Июль 18, 2010 21:11:30

vaxXxa
От: Kyiv, Ukraine
Зарегистрирован: 2009-06-16
Сообщения: 278
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

Use of the CsrfResponseMiddleware is not recommended because of the performance hit it imposes, and because of a potential security problem (see below). It can be used as an interim measure until applications have been updated to use the csrf_token tag. It is deprecated and will be removed in Django 1.4.



Офлайн

#9 Июль 18, 2010 21:23:31

dissdoc
От:
Зарегистрирован: 2009-12-12
Сообщения: 273
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

Да-да…
Но почему-то этот способ сработал, а предыдущий нет… Наверняка я виноват, но ошибку найти у себя не могу.



Офлайн

#10 Апрель 13, 2011 13:23:25

Sashker
От:
Зарегистрирован: 2010-10-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Django 1.2.1 CSRF error

В settings.py ‘django.middleware.csrf.CsrfViewMiddleware’ надо закомментировать, а в шаблоне в форме поставить {% csrf_token %}.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version