我正在try 用Django编写一个站点,其中API URL与面向用户的URL相同.但我在使用POST请求和CSRF保护的页面上遇到了问题.例如,如果我有一个页面/foo/add,我希望能够通过两种方式向其发送POST请求:
- 作为最终用户(使用会话cookie进行身份验证)提交表单.这需要CSRF保护.
- 作为API客户端(使用HTTP请求头进行身份验证).如果启用CSRF保护,则此操作将失败.
我找到了各种禁用CSRF的方法,比如@CSRF_emption,但这些方法都会在整个视图中禁用它.有没有办法在更细粒度的级别启用/禁用它?还是我必须从头开始实施自己的CSRF保护?