我想发送一个ajax请求(通过Jquery,尽管我认为在这种情况下不相关),而不在Django中使用form元素。根据文档,我应该可以通过使用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功能-我可以在树干上使用相同的语句很好地导入它。
这里最简单的解决方案是在ajax调用本身中传递csrf_token VALUE。
您说您正在使用jQuery。
$.ajax({
url: "",
type: 'POST',
data: {
csrfmiddlewaretoken: '{{ csrf_token }}' // just the token value
},
success: function(response) {
}
})
看来这ensure_csrf_cookie
迫使视图设置csrf cookie,该csrf
cookie在基于自动cookie的csrf保护机制中使用,对于此处描述的jquery
ajax调用是必需的:https
://docs.djangoproject.com/en/dev/ref/contrib/ csrf
/#ajax
本文向大家介绍Django中的ajax请求,包括了Django中的ajax请求的使用技巧和注意事项,需要的朋友参考一下 需求:实现ajax请求,在界面上任意地方点击,可以成功传参。 创建项目如下所示: settings.py文件的设置,这次我们除了要注册app和设置templates文件夹的路径,还要多设置一下static的路径,代码如下: 首先,先对界面做处理,设置高为100%,然后引入我们所需
问题内容: 我是Liferay门户网站的新手。我已经在liferay中开发了一个portlet进行演示。在此示例中,我使用了portlet间的通信。我正在做的是:-我有一个搜索portlet,其中有一个要搜索的文本字段。当我单击搜索按钮时,它将从数据库中获取数据,并使用另一个portlet中包含的搜索显示该数据。我为此项目使用了ProcessEvent和ActionEvent批注。 现在我想要的是
这是我的问题。 我有一个像这样的简单表格(示例): null null 并且我正在尝试列的名称,同时单击元素。 我想这可能是一个简单的解决办法但我找不到。 提前致谢
问题内容: Controller @Spring : 问题答案: 我的方法存在问题: 我为MultiPartResolver创建了一个bean。解决问题后的理解是,仅当你需要特定类型的文件或非常特定于应用程序的文件时,才定义此bean。尽管我希望对此有更多了解,并希望能从stackoverflow的技术人员那里听到。 当前问题的解决方案: 我会给出我的源代码, HTML: AngularJS: s
问题内容: 我想使用Ajax自动将新表单添加到Django表单集中,以便当用户单击“添加”按钮时,它将运行JavaScript,该JavaScript将新表单(属于表单集的一部分)添加到页面中。 问题答案: 这就是我使用jQuery的方式: 我的模板: 在一个javascript文件中: 它能做什么: 接受作为第一个参数,的作为第二个参数。什么是应该做的是把它传递它应该复制。在这种情况下,我将其传
问题内容: 上下文: chrome浏览器扩展程序使用JQuery请求来自远程django应用程序的响应。Django识别出该请求是通过AJAX发出的,并以“HelloAJAX!”响应。我以这个伟大的榜样为基础进行锻炼。由于此请求是通过chrome扩展程序发出的,因此该请求是跨站点发出的,因此我在Django视图上使用了装饰器。 问题: 我的Django视图无法将请求识别为AJAX请求,并且没有响应