因为django对post请求会做csrf验证,前端使用layui上传文件时,需要动态传入csrf_token
上传按钮前面加 {% csrf_token %},django会解析成input标签
{% csrf_token %}
<button type="button" class="layui-btn" id="test1" value="上传">
<i class="layui-icon"></i>
</button>
显式使用jquery模块,需传入的csrf_token 写到data里面
layui.use(['table','upload','layer','jquery'], function() {
var table = layui.table,
upload = layui.upload,
layer = layui.layer,
$ = layui.$;
var uploadInst = upload.render(
{
elem: '#test1',
url: '/upload2/',
exts: 'jpg|png',
data: {
'csrfmiddlewaretoken': function () {
return $(':input:first').val()
}
},