Вы должны использовать объект RequestContext , чтобы получить контекст, а затем передать результаты в вашу функцию render_to_response () . RequestContext добавляет необходимый токен CSRF.
from django.template import RequestContext
from django.shortcuts import render_to_response
csrfContext = RequestContext(request)
return render_to_response(some_template, csrfContext)
В качестве дополнительного примечания вы также можете использовать RequestContext для добавления контекстов / словарей, предназначенных для шаблона.Например, я часто использую:
initialData = {'form': theForm, 'user_status': 'online'}
csrfContext = RequestContext(request, initialData)
return render_to_response(show_template, csrfContext)
В качестве (краткого) объяснения того, что делает RequestContext : большинство промежуточного ПО создает нечто, называемое процессор контекста , которыйпросто функция, которая предоставляет контекст (словарь) переменных. RequestContext ищет все доступные контекстные процессоры, получает их контексты и добавляет их все в один (гигантский) контекст.