使用csrf令牌和模板上下文呈现模板

时间:2011-03-12 12:31:34

标签: django django-views csrf

目前,我使用以下语法呈现HTML视图:

t = loader.get_template('sometemplate.html')
c = Context ({
    'title': title,
    'content': conent,
})
return HttpResponse(t.render(c))

我想在我的视图中添加一个带有CSRF保护的表单。我应该在语法中更改什么,以便我可以传递上下文和令牌以呈现视图?

Django docs显示了使用CSRF令牌呈现视图的不同方法,但这些示例中没有传递其他上下文。

提前致谢!

1 个答案:

答案 0 :(得分:8)

使用RequestContext而不是Context?此外,您可以使用render_to_response而不是返回HttpResponse:

from django.shortcuts import render_to_response
from django.template import RequestContext

return render_to_response('sometemplate.html', { 'title': title, 'content': content }, context_instance=RequestContext(request))