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','') #获取上传文件