Форум сайта python.su
Ета тема уже поднималась тут, но вынужден поднять ее еще раз, так как не могу понять где натупил.
Код функции:
from django.shortcuts import render_to_response
from django.template import RequestContext
def testform(request):
return render_to_response('test.html',{'name':request.POST['login'],'pass':request.POST['password']},context_instance=RequestContext(request))
<form action="/test" method="post">{% csrf_token %}
{{form.login}}<br/>
{{form.password}}<br/>
<input type="submit" value="submit">
</form>
Офлайн
Не знаю какая у вас версия django, но, если до версии 1.2
попробуйте добавить django.middleware.csrf.CsrfResponseMiddleware в список мидлваре
И почитайте здесь: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#
Отредактировано (Окт. 6, 2010 09:38:17)
Офлайн
Django Версии 1.2 но ваш совет помог, после добавления ‘django.middleware.csrf.CsrfResponseMiddleware’ все работает ! Спаисбо.
Офлайн
Хорошо что работает, но это устаревший метод.
“…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…”
Рекомендую пересмотреть линк http://docs.djangoproject.com/en/dev/ref/contrib/csrf/# и переделать как надо. =)
Офлайн
Так в том и дело, что все по докам, код я привел, форму все равно не отправляло. Доделаю сайт, потом поправлю такие моменты.
Офлайн