需求介绍:将图片存入本地的电脑文件夹中,将图片的路径保存到数据库,然后通过数据库的路径读取文件;

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实现文件在本地的存储和读取的更多相关文章

  1. 图片Bitmap在本地的存储与读取 File

    将Bitmap存储到本地: public void SaveImage(Bitmap image, String user_id){ //照片通常存在DCIM文件夹中 String sdCardDir ...

  2. c#.net从ftp下载文件到本地

    c#.net从ftp下载文件到本地      /*首先从配置文件读取ftp的登录信息*/  ;                     ;                     , buffer_c ...

  3. JavaScript-cookie是客户端本地,持久存储用户私密数据的文件

    navigator:封装浏览器配置信息的对象 cookieEnabled:判断浏览器是否启用cookie cookie是什么:cookie是客户端本地,持久存储用户私密数据的文件 plugins:包含 ...

  4. Django中从本地上传excel文件并将数据存储到数据库

    Django中从本地上传excel文件并将数据存储到数据库 一.前端界面 <div class="page-container"> <form action=&q ...

  5. iOS开发 - OC - 实现本地数据存储的几种方式二(直接使用sqlite)

    连接上一篇文章http://www.cnblogs.com/FBiOSBlog/p/5819418.html. 上一篇文章介绍了OC内部一些方法进行数据的本地存储,其中包括 NSUser类.Plist ...

  6. Android本地数据存储复习

    Android本地数据存储复习 Android无论是应用层还是系统层都需要在本地保存一些数据,尤其在应用层中使用的就更为普遍,大体有这么几种:SharedPreference,file,sqlite数 ...

  7. IOS开发-本地持久化存储sqlite应用

    前言 需求描述 开发测试环境 FMDB介绍 创建工程 一.前言 上一章介绍了如何开发一个IOS应用的入门案例教程:                     我的第一个IOS开发应用    本章主要将介 ...

  8. iOS开发——数据持久化&使用NSUserDefaults来进行本地数据存储

    使用NSUserDefaults来进行本地数据存储   NSUserDefaults适合存储轻量级的本地客户端数据,比如记住密码功能,要保存一个系统的用户名.密码.使用NSUserDefaults是首 ...

  9. iOS APP之本地数据存储(译)

    最近工作中完成了项目的用户信息本地存储,查阅了一些本地存储加密方法等相关资料.期间发现了一个来自印度理工学院(IIT)的信息安全工程师的个人博客,写了大量有关iOS Application secur ...

随机推荐

  1. Ribbon提供的负载均衡算法IRule(四)

    一.Ribbon算法的介绍 Ribbon的源码地址:https://github.com/Netflix/ribbon IRule:根据特定算法中从服务器列表中选取一个要访问的服务,Ribbon默认的 ...

  2. Cookie注入新方法

       正常输 and 1=1  会有waf 进行拦截    判断一个网站是否支持cookie注入_> 现在是get ,你可以把参数放在post里面试试看看是否返回正常   用hackbar插件也 ...

  3. RabbitMQException com.rabbitmq.client.ShutdownSignalException: connection error; protocol meth

    异常1 org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ...

  4. CentOS7部署GeoServer

    CentOS7部署GeoServer 一.安装JDK81.下载jdk1.8 wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a ...

  5. Autofac的基本使用---5、常用配置

    Autofac的基本使用---目录 创建实例方法 参考:http://www.cnblogs.com/manglu/p/4115128.html InstancePerDependency 对每一个依 ...

  6. 【命令】at命令和cron命令

    博文链接:https://www.cnblogs.com/l75790/articles/9191753.html

  7. Redis 设计与实现:Redis 对象

    本文的分析都是基于 Redis 6.0 版本源码 redis 6.0 源码:https://github.com/redis/redis/tree/6.0 在 Redis 中,有五大数据类型,都统一封 ...

  8. 1.Redis基础命令

    重要概念 redis是单线程模型,所有命令都会进入一个队列,然后依次被执行. 全局命令 >>>select dbindex #切换数据库,默认有16个库,库标识符为0-15 > ...

  9. springcloud执行流程理解图

    执行流程图

  10. 【STL 源码剖析】浅谈 STL 迭代器与 traits 编程技法

    大家好,我是小贺. 点赞再看,养成习惯 文章每周持续更新,可以微信搜索「herongwei」第一时间阅读和催更,本文 GitHub : https://github.com/rongweihe/Mor ...