Django显示本地图片,注意事项
1、在url.py文件中的配置
导入相关的库,在Python2.0后,要用re_path
from django.urls import path,re_path
from django.views.static import serve urlpatterns = [
path(r'similar_img/',app06_views.file_receiving),
re_path(r'^static/(?P<path>.*)$', serve, {'document_root': 'C:/Users/Administrator/Desktop/Django_ALL2/project_all/static'}),
]
static文件夹是放图片等文件的,serve是导入的库,document_root后面的路径是存放图片文件的文件夹路径
static文件夹内部可以建立文件夹,如图片库文件夹(database)、上传的图片存放文件夹(image)
2、在view.py文件中的配置

1 def file_receiving(request):
2 if request.method == 'GET':
3 return render(request,'similar_img.html')
4 elif request.method == 'POST':
5 file1 = request.FILES.get('upfile')
6 print(file1.name)
7 file1_path = './static/image/'+file1.name
8 # file1_path = os.path.join(r'./app06_similar_img/receive_img',file1.name)
9 f = open(file1_path,mode='wb')
10 for data in file1.chunks():
11 f.write(data)
12 f.close()
13 #调用搜索相似产品图片函数,并呈现页面
14 sim_img_datas = search_img(os.getcwd()+'\\static\\image\\'+file1.name)
15 print(type(sim_img_datas),sim_img_datas)
16 # sim_img_datas['result'] = []
17
18 if sim_img_datas['result']:
19 sim_img_data = []
20 for item in sim_img_datas['result']:
21 sim_img_data1 = []
22 sim_img_data1.append(item['score'])#相似度得分
23 img_name = json.loads(item['brief'])
24 sim_img_data1.append(img_name['name'])#相似图片名称
25
26 sim_img_data.append(sim_img_data1)
27 else:
28 sim_img_data = [['0','没有查找到相似图片']]
29
30 print(sim_img_data)
31 success = ['上传成功!']
32 # os.remove(file1_path)
33 database_path = '/static/database/'+file1.name#去掉那个点,才能显示图片
34 return render(request, 'similar_img.html',{'success': success[0],'file1_path':database_path,'sim_img_datas':sim_img_data})
35 else:
36 return redirect('/similar_img/')
注意:返回给前端页面的本地文件路径是个相对路径,并且没有点
3、前端页面的配置
相对路径放在img标签的src属性中

1 <!DOCTYPE html>
2 <html lang="en">
3 <head>
4 <meta charset="UTF-8">
5 <title>Title</title>
6 </head>
7 <body>
8 <h1>Cichic相似图片搜索</h1>
9 <hr><br>
10 <div style="width: 500px">
11 <span style="text-align: center">
12 <form action="/similar_img/" method="POST" enctype="multipart/form-data">
13 <input type="file" name="upfile"/>
14 <input type="submit" value="搜索Cichic相似图片"/>
15 </form>
16 <div style="color:#FF0000;">{{ success }}</div>
17 </span>
18 <span>
19 <h3>上传文件的图片</h3>
20 <a href="{{ file1_path }}" target="_blank" >
21 <img width="60px" height="80px" class="lazyload" alt="展示需要搜索的相似图片" src={{ file1_path }}>
22 </a>
23 </span>
24 </div>
25 <hr><br>
26 <h3>相似图片展示</h3>
27 <div>
28 <table border="1" rules="all" style=" text-align:left">
29 {% for sim_img_data1 in sim_img_datas %}
30 <tr>
31 <td>相似度:{{ sim_img_data1.0 }}</td>
32 <td>图片名称:{{ sim_img_data1.1 }}</td>
33 <td>
34 <a href="/static/database/{{ sim_img_data1.1 }}" target="_blank" >
35 <img width="60px" height="80px" class="lazyload" src="/static/database/{{ sim_img_data1.1 }}">
36 </a>
37 </td>
38 </tr>
39 {% endfor %}
40 </table>
41 </div>
42
43 </body>
44 </html>
Django显示本地图片,注意事项的更多相关文章
- Android ImageView显示本地图片
Android ImageView 显示本地图片 布局文件 <?xml version="1.0" encoding="utf-8"?> <R ...
- Android 使用ContentProvider扫描手机中的图片,仿微信显示本地图片效果
版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/1873 ...
- Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果
大家好!过完年回来到现在差不多一个月没写文章了,一是觉得不知道写哪些方面的文章,没有好的题材来写,二是因为自己的一些私事给耽误了,所以过完年的第一篇文章到现在才发表出来,2014年我还是会继续在CSD ...
- Atitit. html 使用js显示本地图片的设计方案.doc
Atitit. html 使用js显示本地图片的设计方案.doc 1. Local mode 是可以的..web模式走有的不能兰.1 2. IE8.0 显示本地图片 img.src=本地图片路径无 ...
- Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案
Atitit. IE8.0 显示本地图片预览解决方案 img.src=本地图片路径无效的解决方案 1. IE8.0 显示本地图片 img.src=本地图片路径无效的解决方案1 1.1. div来完成 ...
- 在InternetExplorer.Application中显示本地图片
忘记了,喜欢一个人的感觉 Demon's Blog » 程序设计 » 在InternetExplorer.Application中显示本地图片 « 对VBS效率的再思考——处理二进制数据 Wo ...
- Slog71_选取、上传和显示本地图片GET !(微信小程序之云开发-全栈时代3)
ArthurSlog SLog-71 Year·1 Guangzhou·China Sep 12th 2018 ArthurSlog Page GitHub NPM Package Page 掘金主页 ...
- tomcat中显示本地图片①(未解决)
<本模块文仅作为学习过程中的自我总结,有需要可参看,欢迎指导与提出建议,很多地方可能断章取义,理解不到位,虚心求学.谢谢!> 资料查阅原因:2018/7/10(做项目中显示详情页面,从数据 ...
- SpringBoot之显示本地图片范例
controller // 扫描指定目录下的图片进行展示 @RequestMapping("/showPics") public ModelAndView showPics(Mod ...
随机推荐
- case 函数语法与使用
case 函数是聚合函数的一种,为统计函数. case表达式: CASE selector WHEN value1 THEN action1; WHEN value2 THEN action2; WH ...
- 22.1.22 并查集和KMP算法
22.1.22 并查集和KMP算法 1.并查集结构 1)实现: 并查集有多种实现方式,例如向上指的图的方式,数组的方式等等.其根本思想就在于准确记录某个节点的根节点,这个这种记录就能够很快的实现并查集 ...
- springboot项目yml中使用中文注释报错的解决方法1
启动springboot项目时报错:/application.yml.....这大致就是说application.yml有问题,那么目前我所知道的大致两种情况会报错,第一种是yml格式有问题,要注意缩 ...
- IDEA端口占用的解决方案
使用端口查找到对应的进程PID: netstat -ano | findstr "端口" 查找到对应PID的进程信息 tasklist /v /fi "PID eq &l ...
- try{}里有一个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?
答:会执行,在方法返回调用者前执行.
- kafka producer的batch.size和linger.ms
1.问题 batch.size和linger.ms是对kafka producer性能影响比较大的两个参数.batch.size是producer批量发送的基本单位,默认是16384Bytes,即16 ...
- 学习Nginx(二)
Nginx支持四层代理 http://nginx.org/en/docs/stream/ngx_stream_core_module.html 该ngx_stream_core_module模块自1. ...
- wx-sdk 打包安装到本地maven仓库
下载官方sdk项目,导入idea 给WXPayConfig.java 中抽象方法加上public修饰符 进行 mav install ,在target 目录下找到wxpay-sdk-**.jar cm ...
- C++ 虚继承实现原理(虚基类表指针与虚基类表)
虚继承和虚函数是完全无相关的两个概念. 虚继承是解决C++多重继承问题的一种手段,从不同途径继承来的同一基类,会在子类中存在多份拷贝.这将存在两个问题:其一,浪费存储空间:第二,存在二义性问题,通常可 ...
- Centos7 离线安装 KVM,并安装 Csr1000v
最近需要在客户环境搭建 csr1000v,客户环境不能联网,同时使用 kvm 管理.所以需要离线安装 kvm,在利用 kvm 安装 csr100v ,中间遇到不少坑,现记录如下. 所有安装步骤是在 r ...