Я прочитал Джанго - проверка CSRF не удаласьи несколько вопросов (и ответов) связанные с методом django и POST. Одним из лучших, но не работающих для меня ответов является https://stackoverflow.com/a/4707639/755319
Все утвержденные ответы предлагают по крайней мере 3 вещи:
Я сделал именно так, как предлагал, но ошибка все равно появилась. Я использую django 1.3.1 (из репозитория ubuntu 12.04) и python 2.7 (по умолчанию из ubuntu)
Это мое представление:
# Create your views here.
from django.template import RequestContext
from django.http import HttpResponse
from django.shortcuts import render_to_response
from models import BookModel
def index(request):
return HttpResponse('Welcome to the library')
def search_form(request):
return render_to_response('library/search_form.html')
def search(request):
if request.method=='POST':
if 'q' in request.POST:
q=request.POST['q']
bookModel = BookModel.objects.filter(title__icontains=q)
result = {'books' : bookModel,}
return render_to_response('library/search.html', result, context_instance=RequestContext(request))
else:
return search_form(request)
else:
return search_form(request)
и это мой шаблон (search_form.html):
{% extends "base.html" %}
{% block content %}
{% endblock %}
Я перезапустил сервер, но запрещенная ошибка 403 все еще там, говоря, что проверка CSRF не удалась.
У меня 2 вопроса: