我已经在javascript中动态创建了表单元素:var selectform = document.createElement("form")
我向selectform添加了其他输入元素和这些属性:
submitnselection.setAttribute('type',"submit");
submitnselection.setAttribute('value',"Submit");
submitnselection.setAttribute("name","submitnpage");
selectform.setAttribute("method", "post")
selectform.setAttribute = ("action", "/test")
"{% csrf_token %}";
在HTML中,添加
{% csrf_token %}
模板标记会起作用,但是在这种情况下,javascript我收到403禁止错误:我找到了一些解决方案,但对我没有任何帮助,是否有办法仅使用Django,Javascript和纯Jquery将
{% csrf_token %}
添加到表单中?另请注意,此脚本位于html内,因此我认为{% csrf_token %}
模板标记会起作用。 最佳答案
这应该工作:
var inputElem = document.createElement('input');
inputElem.type = 'hidden';
inputElem.name = 'csrfmiddlewaretoken';
inputElem.value = '{{ csrf_token }}';
selectform.appendChild(inputElem);
您会看到,
csrf_token
只是一个字符串,它是表单的value
输入元素的hidden
。就这样!