方法PUT的函数视图是:
return JsonResponse ({})
使用HttpRequester(fireon的插件)
我的CSRF验证失败了。请求中止。
print(request)给出以下结果:
Forbidden (CSRF cookie not set.): /test/src/4213
我不知道该怎么做。你能帮帮我吗?
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^test/src/(\d+)', MyView.as_view(), name='put_'),
]
class MyView(View):
....
def put(self, request, *args, **kwargs):
print(request)
return JsonResponse({})
我没有表格,所以我不能包含{%csrf_token%}。我没有html文件。我尝试用HttpRequester(firefox插件)
测试它答案 0 :(得分:1)
如果您在表单中提交表单{%csrf_token%}
作为隐藏输入,请务必确认。
另外,请检查以确保CsrfViewMiddleware
位于settings.py中的MIDDLEWARE_CLASSES
答案 1 :(得分:0)
如果此视图不适用于表单但可以通过某些内容直接访问,则可以使用csrf_exempt
装饰器删除csrf检查:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^test/src/(\d+)', csrf_exempt(MyView.as_view()), name='put_'),
]