HTML
<form id="project_file_upload" enctype="multipart/form-data" >
<div class="modal-body">
<!-- multiple 增加此属性,文件可以多选 -->
<input type="file" name="file" id="file">
<input id = 'num_id' name="id" type="hidden" value="">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">{% trans "Close" %}</button>
<button class="btn btn-success" type="submit" id="submit_upload_b"><i class="icon-share"></i> 上传</button>
</div>
{% csrf_token %}
</form>
js 代码
//文件上传函数
function dispalyfiletable(url) {
var csrftoken = getCookie('csrftoken');
$.ajax({
cache: false,
type: 'POST',
data: new FormData($('#project_file_upload')[0]),
url: url,
traditional:true, //为必须内容
//dataType:'json', //data为json时必须
processData: false, //为必须内容
contentType: false, //为必须内容
success: function(data) { console.log(data); },
beforeSend: function(xhr, settings) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
});
}
django后台代码
form.py ModelForm 写法
from django import forms
from django.forms import ModelForm
from .models import Advertisement class UploadFileForm(ModelForm): class Meta:
model = Advertisement
localized_fields = ('__all__') exclude = ['add_time']
error_messages = {
'protype': {
'required': '这是个必填项目', # 生成错误信息
},
}
id = request.POST.get('id','')
print(id)
form = UploadFileForm(request.POST, request.FILES)
file_obj = request.FILES.get('file','') #获取上传文件