【发布时间】:2014-12-25 16:16:10
【问题描述】:
我正在使用 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',
)
}
当我进行 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."}
---------------------------------
这仅在我登录时发生,如果我是匿名的,我可以正确 PUT/PATCH。
我已尝试使用@csrf_exempt,但出现错误,我已将rest_framework.permissions.AllowAny 包含在设置中...
我不知道发生了什么。有谁知道是什么问题?
【问题讨论】:
标签: django django-rest-framework