首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python一键上传旅途照片生成展示网页

Python一键上传旅途照片生成展示网页

作者头像
Python中文社区
发布2018-01-31 16:31:52
2.1K0
发布2018-01-31 16:31:52
举报

專 欄

treelake Python中文社区专栏作者

博客地址:

http://www.jianshu.com/p/1d75addcbb2c

作为一个比较喜欢出去见识世界、看看自然风光的人,这几年有幸跑了一些地方,在祖国大地不同的地方见识了不同的人文风物,手机里也存了不少照片,想着如果以某种方式展现来回忆我的旅途的话,或许会给自己带来不一样的体验。目标口号已经想好:去过的风景,直观丰富地展示你的人生旅途,带来新的回忆感受。在看到leaflet开源地图库时,觉得可以比较简单地初步实现我的想法。

初步效果

效果图1 - 60多张照片的效果图

效果图2 - 点击显示当时的照片

效果图3 - 可以进一步加入文字描述内容与动态效果 思路

  • 一般手机照片都包含丰富的信息,如拍摄时间等等,而python又有强大的PIL图像处理库,使得我们可以轻松解析照片信息。在服务端我们可以使用Django来负责产生简单的上传机制,将上传的图片放入静态资源文件夹以提供路由,并且对照片进行解析,获得的信息利用Django自带的ORM编写照片信息模型,存入默认的sqlite3数据库,十分简便,然后利用Django-restframework库将照片信息生成api,方便前端异步获取。在前端利用leaflet地图库生成展示效果,为了以后的开发,采用了vuejs框架,利用vue-resource从api异步get数据,并同步到页面。
  • 这样我们使用时便可以方便地一步上传照片,在地图上再现我们去过的风景,点击出现当时的情景。当然直接根据照片只获得了基本的时间和经纬度信息,进一步我们可以提供提交修改功能,让用户自己较为精细地修正地理位置(某些地理位置并不十分准确),并对照片做注解,提交回忆文本,然后一并展示。更进一步是利用时间数据,动态地显示我们的旅途轨迹,以及自动生成整个人生旅途的动态展示效果。
  • leaflet文档很详细丰富,api文档也很美观,插件也不少。使用leaflet使用两三句js语句就可以轻松地产生应用效果。不要对文档望而生畏,我一开始也嫌烦,懒得看,后来静下心一看发现很容易上手。在github上还有中文地图图层提供商的列表(不需要api key),我使用了高德地图,个人比较喜欢。可用插件有Leaflet.EasyButton、Leaflet.markercluster。

项目GitHub地址:life-journey(https://github.com/zr777/life-journey

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档