我正在使用Django 1.7和django-rest-framework.
我创建了一个API,它返回了一些JSON数据,并将其放入我的 settings.py
REST_FRAMEWORK = {
'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.AllowAny',),
'DEFAULT_RENDERER_CLASSES': (
# 'rest_framework.renderers.XMLRenderer',
'rest_framework.renderers.JSONRenderer',
# 'rest_framework.renderers.BrowsableAPIRenderer',
)
}
Run Code Online (Sandbox Code Playgroud)
当我进行GET调用时,它会返回所有数据,但是当我尝试使用PUT/PATCH时,我得到:
--------Response Headers---------
Status Code: 403
Date: Wed, 29 Oct 2014 18:51:42 GMT
Vary: Cookie
Server: WSGIServer/0.1 Python/2.7.8
Allow: GET, POST, PUT, PATCH, HEAD, OPTIONS
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
---------------------------------
--------Response Body-----------
{"detail": "CSRF Failed: CSRF token missing or incorrect."}
---------------------------------
Run Code Online (Sandbox Code Playgroud)
这只发生在我登录时,如果我是匿名的,我可以正确地进行PUT/PATCH.
我试过了@csrf_exempt,但我得到了错误,我已将其纳入rest_framework.permissions.AllowAny设置......
我不知道是怎么回事.有谁知道这是什么问题?