Rob*_*ith 4 django ajax decorator
我想在不使用Django中的表单元素的情况下发送一个ajax请求(通过Jquery,虽然我认为这种情况无关紧要).根据文档,我应该可以通过使用ensure_csrf_cookie
装饰器来做到这一点,但是,我得到了Error was: cannot import name ensure_csrf_cookie
.
我正在使用以下导入from django.views.decorators.csrf import ensure_csrf_cookie
.
我没有找到大量的文档ensure_csrf_cookie
,所以任何帮助将不胜感激.
顺便说一句,使用@csrf_exempt
按预期工作.
提前致谢.
ensure_csrf_cookie
如果你在导入它时遇到问题,那么它可能只是一个1.4 alpha的功能 - 我可以在trunk上使用相同的语句将其导入.
这里最简单的解决方案是在ajax调用本身中传递csrf_token VALUE.
你说你使用的是jQuery.
$.ajax({
url: "",
type: 'POST',
data: {
csrfmiddlewaretoken: '{{ csrf_token }}' // just the token value
},
success: function(response) {
}
})
Run Code Online (Sandbox Code Playgroud)
看来这会ensure_csrf_cookie
强制视图设置csrf cookie,这些cookie将在这里描述的jquery ajax调用的基于自动cookie的csrf保护机制中使用:https://docs.djangoproject.com/en/dev/ref/contrib/ CSRF /#阿贾克斯
归档时间: |
|
查看次数: |
4514 次 |
最近记录: |