如何将django_csrf用于移动应用程序

时间:2011-07-14 16:36:42

标签: django django-csrf

我正在为django网站编写移动应用程序。据我所知,django中的每个表单都有一个CSRF令牌密钥用于保护。当使用浏览器导航网站时,服务器会为用户呈现一个密钥。

我感到困惑的是移动应用程序,我们不需要从网站查看预设层。我只想做一个HTTP帖子来发送数据。我知道我可以使用csrf_exempt来禁用该表单的csrf。或者我可以创建另一个视图来为我渲染csrf标记,但这样我需要额外的解析和http请求。那么有更好的方法吗?

感谢您的时间

1 个答案:

答案 0 :(得分:2)

如果您的移动应用正在呈现模板,则可以将{% csrf_token %}添加到呈现表单的模板中。如果您没有使用表单而只是发布数据,您可以像上面那样创建令牌,然后简单地将其与数据一起发布。如果您没有使用模板来创建移动应用程序的标记,那么请使用csrf_exempt(如果您只是定期向服务器发布数据)。

显然必须有一个处理发布数据的视图,但即使您使用通用视图,您仍然可以包装该视图(例如在您的urls.py中)并获得使用csrf_exempt < / p>