Django 图片上传
1、django上传图片,主要是将图片存储在内存或者临时文件中。所以,上传图片,就是将图片的路径存储在数据库中。
1、图片大小不大于2.5M时,存储在内存。
2、图片大小大于2.5M时,存储在临时文件中。
2、上传图片步骤。
1)设置上传文件的目录。
在settings.py文件下,设置上传文件的目录。(与设置静态目录的方法一致)
2)在数据库中创建数据表,其中有关图片的字段设置为varchar,用于存储图片路径。(使用的数据库为mysql)
设置存储图片路径的字段为pic。
3)编写models.py文件,将图片路径的字段设置为models.ImageField类型。将上传的图片存储到media下的pic目录下。
pic = models.ImageField(upload_to='pic/',verbose_name=u'图片地址')
4)html前端页面显示上传图标。
<div class="form-group"><label for="pic">产品的图片</label><form><input id="image-uploadify" name="pic" type="file" accept=".xlsx,.xls,image/*,.doc,audio/*,.docx,video/*,.ppt,.pptx,.txt,.pdf" multiple></form>
</div>
5)编写views.py文件,django通过request.FILES.get('')方法获取前端的图片对象。
def insertProductData(request):mod = Product.objects # 获取Drug模型的Model操作对象# 获取上传文件的处理对象pic = request.FILES.get('pic')try:# 创建插入mod.create(name=request.POST.get("name"),code = request.POST.get("code"),pic=pic,purchase_price = request.POST.get("purchase_price"),sole_price=request.POST.get("sole_price"),)context = {'info': '添加成功!'}except Exception as res:print(res)context = {'info': res}return JsonResponse({"msg": context})
输出request.FILES.get('pic'),可得到图片的名称。
6)ajax将表单数据插入到数据库。由于需要长传图片信息,enctype需要为multipart/form-data,所以用表单来初始化。
$(document).on("click", "#add_save", function () {if (confirm("确认保存数据吗?")) {// 用表单来初始化var formData=new FormData();formData.append('name',$("#name").val());formData.append('purchase_price',$("#purchase_price").val());formData.append('code',$("#code").val());formData.append('sole_price',$("#sole_price").val());formData.append('pic',$("input[name='pic']")[0].files[0]);$.ajax({url: "/product/insertProductData/",type: 'post',async: true,// enctype:"multipart/form-data",data: formData, contentType:false,// jQuery不要去设置Content-Type请求头processData:false,// jQuery不要去处理发送的数据success: function (result) {alert(result.msg.info);//1.关闭模态框$("#addModel").modal("hide");}});} else {return false;}
});
【注】使用表单序列化( $("form").serialize() ),无法上传图片信息,request.FILES获取为空。
如何将数据库的图片显示到html页面上:django 调用数据库图片的路径并在html显示_weixin_43235307的博客-CSDN博客
Django 图片上传相关推荐
- Django 图片上传upload_to路径指定失效的问题记录
为什么80%的码农都做不了架构师?>>> 初始方法一: 疑虑:model使用upload_to自定义路径方法失效,指定路径也失效.最后以Views中指定MEDIA_URL和ME ...
- django图片上传到oss_django 配置阿里云OSS存储media文件的例子
1. 安装django-aliyun-oss2-storage包 linux上用 pip install django-aliyun-oss2-storage 无报错,顺利安装 windows上报错: ...
- html上传图片至数据库,Django 图片上传到数据库 并调用显示
环境:Django2.0 Python3.6.4 建立项目,数据库设置,就不说了. 直接上代码: 在models.py中,需要建立模型,这里使用了ImageField字段,用来存储图片路径,这个字段继 ...
- django图片上传到oss_Django上传文件
继前文的项目准备中,涉及到上传歌曲,所以有了这一过程,在项目目录下设置了资源文件夹暂存歌曲,完场云端上传后即删除所有文件 上传表单 主要设置了上传提交两个选项,定义了上传属性,方便后续获取到文件对象, ...
- Python Django 图片上传及显示代码示例
- django 类取消csrf_Django之Form组件详解、图片上传及定制
Django的Form功能 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 Django form 流程 1.创建类,继承form.Form ...
- html显示数据库图片django,django将图片上传数据库后在前端显式的方法
1.使用ImageField先安装pillow模块 pip install pillow 2.在app的models中设置 class Image(models.Model): pic_name=mo ...
- 在BAE搭建的Django中实现图片上传并用jquery预览图片
在BAE上搭建好了django,如何实现图片上传并预览呢? 想要实现图片上传并不难,但是想看到刚上传的图片,就得在服务器返回上传后图片的url.可是返回数据的话,网页就会重定向.因此想要在上传页面预览 ...
- Django中static media的简单配置及图片上传实践
static & media 在Django应用的文件夹下,经常会发现这两个文件夹:static, media; static称为静态文件夹,用于存放CSS, JavaScript, 网站lo ...
最新文章
- SQL语句对于NUll的筛选
- 264 解码之 yuv
- android 开机小企鹅_手机root是好是坏 小编来帮你分析
- C++_二维数组的动态申请内存3种方法
- sql server代理无法启动_DungProxy代理资源服务系统,
- 路由与交换技术(复习知识点-全)
- 将人工智能融入科技体育类课程中
- 第十四篇 积分器和积分运算电路
- 建筑工地使用的人脸识别门禁实名制管理系统是什么
- 汇编 bne 1b和bne 1f浅析
- 如何查看磁盘空间是否够用
- 信号完整性分析5——信号上升时间
- 初探数通网络开放可编程简介
- chan队列之发送方等待接收方处理结果
- 【C4D材质库合集】吐血分享!5.7GB!4000个+材质球!最新最全高质量C4D材质库合集
- 五分钟学会ios反编译
- 用python将照片做成数据集_TensorFlow2.X使用图片制作简单的数据集训练模型
- 从Dao聊到Aragon
- 霸王背单词 Beta Release
- 新手必看的DIY装机教程(图解)