4个步骤解决这个问题

1,这个错误是由于在middleware中有

'django.middleware.csrf.CsrfViewMiddleware',引起的,去掉它当然能避免这个错误, 但是会引来跨站伪造***。如果有了
'django.middleware.csrf.CsrfResponseMiddleware',的话必须是在csrfview之后, 毕竟是先从view中的request再有response的

2,在form表单中嵌入{%csrf_token%},eg
<form action="." method="post">   {% csrf_token %} </form>
3,引入RequestContext,这下面的方法都行

from django.template import RequestContext

render_to_response('add_publisher.html', RequestContext(request, {'form':form}))

#csrf_context = RequestContext(request, {'form':form})
#return render_to_response('contact.html',csrf_context)
return render_to_response('contact.html',{'form':form}, RequestContext(request) )
return render_to_response('contact.html',{'form':form}, context_instance=RequestContext(request) )
#return render_to_response('contact.html',RequestContext(request, {'form':form}) )

这些方法都是可以的

4,最关键的一点,清除浏览器数据,再清除一次

给个官网说明链接