Django实现文件在本地的存储和读取
需求介绍:将图片存入本地的电脑文件夹中,将图片的路径保存到数据库,然后通过数据库的路径读取文件;
1、文件的存入:
前端文件:
<form class="form-horizontal" method="post" action="/commodityAdd/" enctype="multipart/form-data"> # enctype="multipart/form-data" 必须参数
<div class="form-group">
<label for="inputImage" class="col-sm-2 control-label">标志图片</label>
<div class="col-sm-10">
<input type="file" name="commodityImage" id="inputImage">
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-danger">提 交</button>
</div>
</form>
视图函数:
def storage_view(request):
"""
存储数据
:param request:
:return:
"""
if request.method == "POST":
img = request.FILES.get("img")
url = "/img/"
old_name = img.name
suffix = old_name.rsplit(".")[1]
img_name = int(time.time())
dir = os.path.join(os.path.join(settings.BASE_DIR, 'img'),str(img_name)+'.'+suffix)
destination = open(dir,'wb+')
for chunk in img.chunks():
destination.write(chunk)
destination.close()
models.datainfo.objects.create(
data_photo = url + str(img_name)+'.'+suffix,
add_time = timezone.now()
)
return JsonResponse({"status":True})
else:
return JsonResponse({"status":False,"error":"请求错误"})
上边是将前端发送过来的图片保存到本地指定文件夹,然后将文件夹和文件名作为相对路径存入数据库,方便访问时快速的获取;
2、文件的获取:
首先,要在settings.py中设置,media是保存图片的文件夹:
IMG_PATH = "/img/"
MEDIA_ROOT = os.path.join(BASE_DIR,'img')
url.py中:
from django.conf.urls.static import static
from . import settings
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^api/', include('web.urls')),
]
urlpatterns += static('/img/', document_root=settings.MEDIA_ROOT)
要加载的图片,放到img文件夹中,在html文件中:
<img src="/img/7.jpg" alt="图片无法显示"/>
Django实现文件在本地的存储和读取的更多相关文章
- 图片Bitmap在本地的存储与读取 File
将Bitmap存储到本地: public void SaveImage(Bitmap image, String user_id){ //照片通常存在DCIM文件夹中 String sdCardDir ...
- c#.net从ftp下载文件到本地
c#.net从ftp下载文件到本地 /*首先从配置文件读取ftp的登录信息*/ ; ; , buffer_c ...
- JavaScript-cookie是客户端本地,持久存储用户私密数据的文件
navigator:封装浏览器配置信息的对象 cookieEnabled:判断浏览器是否启用cookie cookie是什么:cookie是客户端本地,持久存储用户私密数据的文件 plugins:包含 ...
- Django中从本地上传excel文件并将数据存储到数据库
Django中从本地上传excel文件并将数据存储到数据库 一.前端界面 <div class="page-container"> <form action=&q ...
- iOS开发 - OC - 实现本地数据存储的几种方式二(直接使用sqlite)
连接上一篇文章http://www.cnblogs.com/FBiOSBlog/p/5819418.html. 上一篇文章介绍了OC内部一些方法进行数据的本地存储,其中包括 NSUser类.Plist ...
- Android本地数据存储复习
Android本地数据存储复习 Android无论是应用层还是系统层都需要在本地保存一些数据,尤其在应用层中使用的就更为普遍,大体有这么几种:SharedPreference,file,sqlite数 ...
- IOS开发-本地持久化存储sqlite应用
前言 需求描述 开发测试环境 FMDB介绍 创建工程 一.前言 上一章介绍了如何开发一个IOS应用的入门案例教程: 我的第一个IOS开发应用 本章主要将介 ...
- iOS开发——数据持久化&使用NSUserDefaults来进行本地数据存储
使用NSUserDefaults来进行本地数据存储 NSUserDefaults适合存储轻量级的本地客户端数据,比如记住密码功能,要保存一个系统的用户名.密码.使用NSUserDefaults是首 ...
- iOS APP之本地数据存储(译)
最近工作中完成了项目的用户信息本地存储,查阅了一些本地存储加密方法等相关资料.期间发现了一个来自印度理工学院(IIT)的信息安全工程师的个人博客,写了大量有关iOS Application secur ...
随机推荐
- 第八章 SMS--短信服务
今天咱们接着 上一篇 第七章 Rocketmq–消息驱动 继续写 SpringCloud Alibaba全家桶 -> 第八章 SMS–短信服务,废话不多说,开干 8.1 短信服务介绍 短信服务( ...
- python 无损压缩照片,支持批量压缩,支持保留照片信息
由于云盘空间有限,照片尺寸也是很大,所以写个Python程序压缩一下照片,腾出一些云盘空间 1.批量压缩照片 新建 photo_compress.py 代码如下 1 # -*- coding: utf ...
- Android 7.0应用之间共享文件
原文首发于微信公众号:躬行之,欢迎关注交流! 开发中经常需要将某个文件向另一个应用程序传递,如图片上传到另一个应用程序.文件在不同存储路径之间的复制粘贴等都需要共享文件,可以这样理解接收文件的应用是在 ...
- Python 带你高效创作短视频,视频创作秀到飞起!!!
近两年,抖音.快手将短视频推到风口浪尖上,要生产出高质量的视频,离不开视频剪辑这一环节:在全民剪片浪潮中,大众使用最多的剪辑软件如:Pr.FCPX.剪印.Vue 等. 视频剪辑过程中,Python 一 ...
- CCNP第二天之复习CCNA
1.静态路由的扩展配置: (1).环回接口: 在设备上用于测试TCP/IP协议栈能否正常使用.默认没有.需要手工创建 R1(config)#interface loopback 1 ...
- CentOS 8 部署 ASP.NET Core 3.1 应用程序 kestrel+Nginx IIS+kestrel
vs2019发布到IIS 下载文档https://files.cnblogs.com/files/netlock/%E4%BD%BF%E7%94%A8VS2019%E5%8F%91%E5%B8%83 ...
- 使用NPOI读取Excel表格内容并进行修改
前言 网上使用NPOI读取Excel文件的例子现在也不少,本文就是参考网上大神们的例子进行修改以适应自己需求的. 参考博文 http://www.cnblogs.com/restran/p/38894 ...
- Dovecot邮件服务器的正确安装方法
Dovecot邮件服务器的正确安装方法 apt remove dovecot-coredpkg -P dovecot-core sudo apt install dovecot-imapd dovec ...
- 敏捷史话(一):用一半的时间做两倍的事——Scrum之父Jeff Sutherland
普通的人生大抵相似,传奇的人生各有各的传奇.Jeff就是这样的传奇人物,年近80的他从来没有"廉颇老矣尚能饭否"的英雄迟暮,不久前还精神矍铄地与好几百名中国学生进行线上交流,积极回 ...
- java中给多个微信好友自动发信息
package weixin; import java.awt.*; import java.awt.datatransfer.Clipboard; import java.awt.datatrans ...