how it works
1, the middle ware 'django.middleware.csrf.CsrfViewMiddleware' to your list of middleware classes.
2, On server side the csrf is csrf_token like:
<form action="." method="post">{% csrf_token %}
You may need manually update the csrf by:
from django.core.context_processors import csrf
from django.shortcuts import render_to_response
def my_view(request):
c = {}
c.update(csrf(request))
return render_to_response("a_template.html", c)
3,if you already added the the csrf middleware and you do not want to apply it, you should added
@csrf_exempt
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def my_view(request):
return HttpResponse('Hello world')
it is very import to added @csrf_exempt if you want to use ajax in django framework.