您的位置:首页 > 编程语言 > Python开发

jquery ajax 提交form表单 以及django后台接受

2017-06-18 13:59 531 查看
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','') #获取上传文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: