分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

django 基于form表单上传文件和基于ajax上传文件

发布时间:2023-09-06 02:25责任编辑:沈小雨关键词:form表单django

一、基于form表单上传文件

1、html里是有一个input type="file" 和 ‘submit’的标签

2、vies.py

def fileupload(request): ???if request.method == ‘POST‘: ???????print(request.POST) ???????print(request.FILES) ???????# from django.core.files.uploadedfile import InMemoryUploadedFile ???????print(type(request.FILES.get(‘myfile‘))) ???????myfile = request.FILES.get(‘myfile‘) ???????name = myfile.name ???????print(name) ???????with open(name,‘wb‘) as f: ???????????# for line in myfile.chunks(): ???????????# ????f.write(line) ???????????for line in myfile: ???????????????f.write(line) ???????return HttpResponse(‘文件上传成功‘)

二、基于JSON上传文件

 $("#ajax_button").click(function () { ???????var formdata=new FormData() ???????formdata.append(‘name‘,$("#id_name2").val()) ???????formdata.append(‘myfile‘,$("#myfile")[0].files[0]) ???????$.ajax({ ???????????url:‘‘, ???????????type:‘post‘, ???????????processData:false, //告诉jQuery不要去处理发送的数据 ???????????contentType:false,// 告诉jQuery不要去设置Content-Type请求头 ???????????data:formdata, ???????????success:function (data) { ???????????????console.log(data) ???????????} ???????}) ???})
def fileupload(request): ???if request.method == ‘POST‘: ???????print(request.POST) ???????print(request.FILES) ???????# from django.core.files.uploadedfile import InMemoryUploadedFile ???????print(type(request.FILES.get(‘myfile‘))) ???????myfile = request.FILES.get(‘myfile‘) ???????name = myfile.name ???????print(name) ???????with open(name,‘wb‘) as f: ???????????# for line in myfile.chunks(): ???????????# ????f.write(line) ???????????for line in myfile: ???????????????f.write(line) ???????return HttpResponse(‘文件上传成功‘)

三、综上所述

  基于form表单上传文件和基于ajax上传文件后端view界面一样的不需要改动,前台需呀改动

django 基于form表单上传文件和基于ajax上传文件

原文地址:https://www.cnblogs.com/di2wu/p/10068511.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved