- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有表单元素的 django 模板,其中包括一些输入文本编辑和一个提交按钮以及一个带有 DropzoneJS 的用户头像 uploader 。问题是我无法将 DropzonJs
放入表单的 div 中,因为它会引发 csrf_token 错误
。当我在 div
中为 dropzoneJS;
放置一个 csrf_token
时,没有任何变化。我发现 csrf_token
仅适用于 HTML
表单元素。这是我的模板:
<form role="form" method="POST">
{% csrf_token %}
<h5>Edit Profile Details</h5>
<div class="content">
<h1>{{ username }}</h1>
<!-- My other fields here -->
<div class="m-b-sm">
<img alt="image" class="img-circle" src="{% static 'img/profile.jpg' %}" />
</div>
<!-- Here is the div that contains DropzoneJS -->
<div class="dropzone dropzone-previews" id="my-awesome-dropzone" action="">
{% csrf_token %}
</div>
</div>
<!-- ... -->
我的想法是,如果我在我的表单中放置一个 {% csrf_token %}
,就没有必要在它的表单中添加一些其他的 {% csrf_token %}
内部元素。
DropzoneJS 使用这样的表单:
<form class="dropzone" action="{% url "test_avatar" %}" method="post" enctype="multipart/form-data" id="my-awesome-dropzone">
{% csrf_token %}
</form>
但由于嵌套 HTML
表单元素的错误,我无法在我的表单中使用此表单。我该怎么办?
最佳答案
您应该以编程方式创建您的 dropzone 实例并将 csrf_token 附加到 formData 对象。
首先,将 token 存储在 html 某处的 javascript 变量中:
(我自己使用 PHP/Laravel,所以我不确定这是否打印出 token ,但你明白了..)
<script>
token = {% csrf_token %};
</script>
然后在您的 javascript 文件(或内联)中创建 dropzone 实例:
var myDropzone = new Dropzone(".dropzone", {
url: '/file/upload', // your test_avatar route here
sending: function(file, xhr, formData) {
formData.append("csrf_token", token);
// the first parameter should be the fieldname that django is looking for
// the second parameter being the token from the variable set in your html
},
});
关于javascript - Dropzone Js csrftoken,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30572993/
我试图找到以下问题的答案。 什么情况下浏览器会存储多个csrftoken cookies ? 它是正确的还是技术上有效的功能? 以及在 RFC/security 文档中传递数组的位置,或尝试 csrf
有没有办法直接在View中获取csrftoken? 我想获取当前的 csrftoken,但有时会发生变化,因此从 Cookies 获取它不是一个好主意。 有什么办法吗? 谢谢! 最佳答案 我相信您正在
我使用 ajax 调用对 CRUD(使用 csrf token )的薄美味层。一切都像魅力一样,直到我运行该网站,例如Chrome 隐身模式。我不断收到 CUD 请求的 401。 查看请求 cooki
我正在测试发出 POST ajax 请求,但由于没有 csrftoken,我收到了 403。我跟着文档,但是,它仍然不起作用,我发现名为 csrftoken 的 cookie 是 空 , 意思是 $.
我在我的 SPA 中遇到了 Django CSRF token 的奇怪问题。 当我呈现我的应用程序时,我确保使用 ensure_csrf_cookie 设置 token 。当我检查我的 cookie
我有一个带有表单元素的 django 模板,其中包括一些输入文本编辑和一个提交按钮以及一个带有 DropzoneJS 的用户头像 uploader 。问题是我无法将 DropzonJs 放入表单的 d
试图了解安全性。好奇为什么在Django何时 提交表单(POST)时,有2个单独的“元素” 包含相同的csrf token 值: - the csrftoken cookie: COOKIE
我正在与 Django 合作创建一个网站,并遇到了一些关于 CSRF 的问题。我用 django.middleware.csrf.CsrfViewMiddleware并添加 {% csrf_token
csrftoken 存储在哪里? 当我访问 API 端点时(注销 API,它不需要参数): POST /rest-auth/logout/ HTTP/1.1 Host: 10.10.10.105:80
如何通过 python 模块 Requests 传递 csrftoken?这就是我所拥有的,但它不起作用,我不确定将它传递给哪个参数(数据、 header 、身份验证...) import reque
在我的 Django 的 settings.py 中,我有 SESSION_COOKIE_HTTPONLY = True SECURE_CONTENT_TYPE_NOSNIFF = True SECU
我有这样的python代码 s=requests.Session() headers = {'User-Agent': 'Mozilla/5.0'} URL = 'http://test.dev/ap
我开发了一个 Django 文件上传 API,它从客户端接收发布的数据并将数据保存为文件。 根据Django CSRF manual ,HTTP 请求 header 应使用 csrftoken coo
我需要通过基于 Ajax 的发布请求传递 CSRFToken,但不确定如何以最佳方式完成。使用在请求中内部检查 CSRFToken 的平台(仅限 POST 请求) 最初我想把它添加到标题中 $(fun
在Vue.js项目中,如何获取csrftoken? 我试过使用js-cookie,但无法获取: import Cookies from 'js-cookie'; if (Cookies.get('cs
我使用 Django rest 框架作为我的后端 (api),并使用 React 作为前端。 现在我想将表单数据 POST 到后端。我想用csrf保护,因为安全。因此,我尝试使用 Django 发送的
我的问题是,上传文件时显示以下错误。我该如何解决这个问题? 这是我在模板中的代码:
使用: Django 3.x [Django-Filters 2.2.0、graphene-django 2.8.0、graphql-relay 2.0.1] Vue 2.x [Vue-Apollo]
当我们必须发送{% csrf_token %}时,django中的csrftoken-cookie有什么用在每个表单提交中。 {% csrf_token %} Submit Django 处理器总
如何在 Axios.interceptors.request 的配置中获取 Cookies 的 csrftoken? Axios.interceptors.request.use( config
我是一名优秀的程序员,十分优秀!