2011-03-13 41 views
0

我有一个生成表单的模板标签,因此这需要{% csrf_token %}用于安全性,而这又需要一个RequestContext对象而不是标准的Context对象。获取每个页面上包含的模板标签的RequestContext

现在,所讨论的特定templatetag /表单被包含在每个页面的标题中。目前每个页面不会有render_to_responseRequestContext对象。

有没有什么办法可以解决这个问题,而无需改变整个网站中的每个视图来通过RequestContext

在此先感谢。

回答

0

虽然可能有一些解决方法,但最好的做法是无处不在添加RequestContext。这对其他中间件也有好处。

但也有一个遗留方法,它将在Django 1.4中被删除,不需要您更改所有视图。除非你没有太多选择,否则我会推荐它。

http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#legacy-method

+0

还有另一种方法:忽略这种形式CSRF:http://docs.djangoproject.com/en/1.2/ref/contrib/csrf/#exceptions – 2011-03-13 21:44:40

+0

@alex - 不幸的是这是一个视图基于规则的异常,我的问题在于templatetags中的表单。 – Nick 2011-03-13 22:02:46

+0

@orangutancloud - 有没有什么我需要关心的地方使用RequestContext - 安全性,性能还是其他?谢谢。 – Nick 2011-03-13 22:04:45

相关问题