2

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

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

谢谢你的时间

4

1 回答 1

2

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

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

于 2011-07-14T17:29:25.143 回答