Как видно из предыдущего комментария, использование Requestcontext решит вашу проблему.
Вот документация о csrf_token: https://docs.djangoproject.com/en/dev/ref/contrib/csrf/#how-to-use-it
Как мы можем прочитать:
Используйте RequestContext, который всегда использует django.core.context_processors.csrf (независимо от того, какой у вас параметр TEMPLATE_CONTEXT_PROCESSORS). Если вы используете общие представления или приложения для вклада, вы уже охвачены, поскольку эти приложения повсеместно используют RequestContext.
Так что здесь, похоже, мы не используем универсальное представление,ни вклад приложенияИтак, что нам нужно, чтобы передать RequestContext, потому что похоже, что защита csrf работает в Django.
from django.core.context_processors import csrf
from django.shortcuts import render_to_response
def my_view(request):
c = {}
c.update(csrf(request))
# ... view code here
return render_to_response("a_template.html", c)
или
from django.views.generic.simple import direct_to_template
def app_view(request):
return direct_to_template(request, 'app_template.html', app_data_dictionary)
или
from django.shortcuts import render_to_response
from django.template import RequestContext
def app_view(request):
return render_to_response('app_template.html',
app_data_dictionary,
context_instance=RequestContext(request))
ТакжеДокументация говорит о: скрипт extras / csrf_migration_helper.py.Кажется, будет полезным для вашего случая:)
Надеюсь, это поможет;)