【发布时间】:2015-08-14 21:11:12
【问题描述】:
我有一个带有表单元素的 django 模板,其中包括一些输入文本编辑和一个提交按钮以及一个带有 DropzoneJS 的用户头像上传器。
问题是我不能将DropzonJs 放入表单中的 div 中,因为它会引发csrf_token error。当我在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 表单元素的错误,我不能在我的表单中使用这个表单。
我该怎么办?
【问题讨论】:
标签: javascript html django forms dropzone.js