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.*)$', serve, {'document_root': 'C:/Users/Administrator/Desktop/Django_ALL2/project_all/static'}),
]

static文件夹是放图片等文件的,serve是导入的库,document_root后面的路径是存放图片文件的文件夹路径

Django显示本地图片,注意事项

2、在view.py文件中的配置

Django显示本地图片,注意事项
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属性中

Django显示本地图片,注意事项
 1 DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Titletitle>
 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>

Original: https://www.cnblogs.com/chunfang/p/13617841.html
Author: 白月如初12138
Title: Django显示本地图片,注意事项

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/712596/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • CESIUM 原理 之 COMMAND拼接【转】

    VAO VAO(Vertext Array Object),中文是顶点数组对象。之前在《Buffer》一文中,我们介绍了Cesium如何创建VBO的过程,而VAO可以简单的认为是基…

    技术杂谈 2023年5月31日
    0101
  • 运算符重载限制

    p387 5.表 11.1 中的大多数运算符都可以通过成员或非成员函数进行重载,但下面的运算符只能通过成员函数进行重载。 =:赋值运算符。 ():函数调用运算符。 []:下标运算符…

    技术杂谈 2023年7月11日
    069
  • 星空

    大概是因为近视或者污染严重的缘故,我已经很少能看到星空了。更多时候抬起头,望见的只是无法穿透的黑夜。但星空就在那里,它不会因为我看不见它而消失。准确地说,星空一直在我们每个人的心里…

    技术杂谈 2023年6月21日
    082
  • electron-vue 中使用Electron Api和nodejs以及主进程渲染通信

    app.vue router/index.js home.vue news.vue main/icpMain.js 运行: Original: https://www.cnblog…

    技术杂谈 2023年5月31日
    0100
  • []验证需求(需求三角)总结提炼

    [原创]验证需求(需求三角)总结提炼 1、所谓缺乏感,也就是我们常说的痛点或者刚需,来源于用户的心理落差,这种落差可以从五个维度去分析,分别是任务、时间、关系、群体和角色。 2、所…

    技术杂谈 2023年5月30日
    080
  • 2019hexo博客部署到coding该绕的坑-奥怪的小栈

    这篇文章适用于初次部署和部署到github后想双线部署到coding的朋友们,我将带你们绕过一些我踏过的坑。 前言 我一开始没打算将博客部署到coding上的,想着部署到githu…

    技术杂谈 2023年6月21日
    087
  • Vue ES6.0箭头函数

    一、基础语法基础语法 (参数1,参数2,参数3……)=> {函数声明} 形参的情况1.没有形参的情况下,小括号不能省略 let fun1 =() =&…

    技术杂谈 2023年6月1日
    084
  • π型滤波器 计算_π型滤波电路

    滤波器在功率和音频电子中常用于滤除不必要的频率。而电路设计中,基于不同应用有着许多不同种类的滤波器,但它们的基本理念都是一致的,那就是移除不必要的信号。所有滤波器都可以被分为两类,…

    技术杂谈 2023年5月31日
    079
  • JWT跨域身份验证解决方案

    JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。本文介绍JWT的原理和用法。 1. 当前跨域身份验证的问题 Internet服务无法与用户身份验证分开。一…

    技术杂谈 2023年5月30日
    082
  • [教程] 【亲测可用】阿里云盘挂载变成你的电脑本地硬盘详细教程

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月31日
    0102
  • image图片

    *image图片的私有属性 属性 说明 isCircle 是否圆图,true表示圆形,默认值false标示方形 url 图片的链接 <image url="…&…

    技术杂谈 2023年6月1日
    076
  • []精益画布(lean canvas)总结提炼

    [原创]精益画布(lean canvas)总结提炼 1、客户群体 2、问题 3、解决方案 4、关键指标 5、独特卖点 6、渠道 7、成本分析 8、收入分析 9、门槛优势 Origi…

    技术杂谈 2023年5月30日
    063
  • FeignClient中name和url属性的作用

    定义: feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。Spring Cloud集成了Ribbon和…

    技术杂谈 2023年5月30日
    098
  • 银河麒麟操作系统root用户登录图形化界面

    第一步、为root用户设置密码 sudo passwd 设置root用户密码 第二步、开启root登录权限 vim /usr/share/lightdm/lightdm.conf….

    技术杂谈 2023年7月11日
    0145
  • 万物智能互联时代

    万物智能互联时代始于人,是人、物、数据和过程的链接,通过数十亿个传感器被植入到不同的设备、机器和普通物体中,他们相互结合成一个共同的相关联的系统,通过互联网、应用程序、硬件设备连接…

    技术杂谈 2023年6月1日
    083
  • 动动手指,这段程序性能提升2s~15s

    性能优化说明:判断数据表里是否有数据,用limit 1/top 1取代求count,这一点对于大表来说相当明显。 思路一转,春暖花开! 近期,数据中心系统负荷大,mysql服务器的…

    技术杂谈 2023年7月11日
    092
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球