# python期末项目 **Repository Path**: li_man_qi/python-final-project ## Basic Information - **Project Name**: python期末项目 - **Description**: 用来提交大二第一学期期末作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-19 - **Last Updated**: 2021-12-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一、项目介绍 > 文档撰写人:李漫琪 > 撰写日期:2021.01.23 ### 1.项目名称: * supermonkey导航小屋 * 网站请点击:[supermonkey导航小屋](https://supermonkey.pythonanywhere.com/) ### 2.加/价值主张 supermonkey导航小屋是通过对**高德api**步行规划路径、天气查询函数以及静态地图函数的调用,为在路上走迷路有需要的小伙伴们提供地图与指引帮助,同时给即将出门的小伙伴提供天气情况查询,让大家都能度过美好的一天。 * #### 页面流程图 ![页面流程](https://gitee.com/li_man_qi/python-final-project/raw/master/image/%E9%A1%B5%E9%9D%A2%E6%B5%81%E7%A8%8B%E5%9B%BE.png) ## 二、问题表述 ### 1.主要问题及使用解决 现下的社会是一个快节奏的时期,并且是个特立独行的社会,很多年轻人都是独自在外打工生活。supermonkey导航小屋,当你的贴身小管家,有时候出门在外,遇到个什么下雨天,可能也很难就联系到朋友送伞,这时,只要你在出门前,在supermonkey小屋上观天象,就可以轻松获得当下的天气情况,考虑是否带伞或者加衣。在路上不知道大致方位的时候,打开supermonkey导航小屋的下晓地理,便可轻松获得当下的地图概况。想要获得短距离的步行导航,打开林间漫步,不迷路。 本项目利用flask框架基于python进行的web网站开发,在前端获取的数据通过接口返回值后,json处理为用户看得懂的数据以html形式呈现,能够充分与用户发生数据交互。 ### 2.用户使用场景 ![1](https://gitee.com/li_man_qi/python-final-project/raw/master/image/%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF1.jpg) ![2](https://gitee.com/li_man_qi/python-final-project/raw/master/image/%E7%94%A8%E6%88%B7%E4%BD%BF%E7%94%A8%E5%9C%BA%E6%99%AF2.jpg) ### 3.用户任务、痛点,增长/益点 ![用户任务、痛点,增长/益点](https://gitee.com/li_man_qi/python-final-project/raw/master/image/%E7%94%A8%E6%88%B7%E7%97%9B%E7%82%B9%E3%80%81%E4%BB%BB%E5%8A%A1%E3%80%81%E7%9B%8A%E5%A4%84.jpg) ## 三、解决方案表述 ### 1.项目的整体规划 * ①首先明确自己想要做的功能,再通过实现该功能需要用到的相关知识点进行查阅。本项目中想要实现的三个功能均来自于高德api的调用,熟练高德api调用是实现改项目的第一步。紧接着html和css以及flask的搭建也是实现网站其中的关键部分。最后在pythonanywhere上实现部署。 * ②高德api的调用:通过高德[天气查询](https://lbs.amap.com/api/webservice/guide/api/weatherinfo)、[路径规划](https://lbs.amap.com/api/webservice/guide/api/direction)、和[静态地图](https://lbs.amap.com/api/webservice/guide/api/staticmaps)api的调用来实现本项目的功能应用。 ### 2.用到的基本的Python基础知识点 | python知识点 | 功能 | | :----: | :----: | |API的调用|通过申请api接口秘钥完成API的调用从而实现网站的功能| |flask模块|搭建网站的框架| |html、css优化|完成网站页面的实现、美化| | json, 列表字典取值|返回参数取值| |jupyter notebook,pycharm|编译器的使用| |input、print使用|输入、输出| |列表、字典|实现功能返回数据的呈现| |日志|实现日志的读取| |pythonanywhere|云端部署| ## 四、编程功能的基本描述 #### 1.API的调用 本项目最主要的核心是基于高德api的调用,通过申请api接口秘钥完成API的调用从而实现网站的功能,本项目需要三个api的调用分别是天气系统、路径规划和静态地图。 > API的调用占整个项目的15%,学习成本大约为15天 #### 2.flask模块 使用flask模块架构网站,加上html、css修饰页面,使得网站得以雏形展示,在这个过程中报错是难免的,在不断修复错误的过程中也是一种很不错的学习方式。 > flask模块的学习和使用占整个项目的25%,学习成本大约为25天 #### 3.html、css优化 一个美观良好的网站离不开html、css的布局和优化,只有观感舒适的网站才能使得用户的体验感达到最佳。使你网站的使用率得到提高。 > html、css优化学习占整个项目的15%,学习成本大约为15天 #### 4.json, 列表、字典取值、input、print使用...... 这些属于python的基础知识,掌握python的基本入门知识,对于项目的完成有极大的帮助,通过列表、字典取值、拆分等方式,将返回数据中有用的部分呈现在页面,方便用户的阅读。 > python基础知识占整个项目的25%,学习成本大约为30天 #### 5.jupyter notebook,pycharm编译器的使用 jupyter notebook,pycharm是我完成这个项目所使用到的编译器,pycharm是一个写代码非常好用的编译器,推荐给大家。熟练的使用这些编译器,可以让你更快的完成项目的编写! > jupyter notebook,pycharm编译器的使用占整个项目的10%,学习成本大约为10天 #### 6.云端部署 使用pythonanywhere进行云端部署,让网站实现在浏览器中完整呈现,给予网站域名,扩大网站的访问流量,便于大家通过互联网搜索即可访问。 > pythonanywhere的部署占整个项目的10%,学习成本为1.5小时 ## 五、云端项目部署的基本描述 ### 1.pythonanywhere所有页面链接 [首页](https://supermonkey.pythonanywhere.com/) [登录页](https://supermonkey.pythonanywhere.com/login?) [登录失败页](https://supermonkey.pythonanywhere.com/start) [注册页](https://supermonkey.pythonanywhere.com/registered1?) [界面功能页](https://supermonkey.pythonanywhere.com/start) [功能一:上观天象](https://supermonkey.pythonanywhere.com/tianqi) [输出界面1](https://supermonkey.pythonanywhere.com/search) []() [功能二:林间漫步](https://supermonkey.pythonanywhere.com/walk?) [输出界面2](https://supermonkey.pythonanywhere.com/walking?start_address=%E5%B9%BF%E4%B8%9C%E7%9C%81%E5%B9%BF%E5%B7%9E%E5%B8%82%E6%B5%B7%E7%8F%A0%E5%8C%BA%E4%B8%AD%E5%B1%B1%E5%A4%A7%E5%AD%A6&end_address=%E5%B9%BF%E4%B8%9C%E7%9C%81%E5%B9%BF%E5%B7%9E%E5%B8%82%E4%BB%8E%E5%8C%96%E5%8C%BA%E6%B8%A9%E6%B3%89%E9%95%87%E4%B8%AD%E5%B1%B1%E5%A4%A7%E5%AD%A6%E5%8D%97%E6%96%B9%E5%AD%A6%E9%99%A2) [功能三:下晓地理](https://supermonkey.pythonanywhere.com/map?) [输出页面3](https://supermonkey.pythonanywhere.com/mapending) [日志系统](https://supermonkey.pythonanywhere.com/viewlog?) ### 2.云端功能与部署心得 * 部署工具:pythonanywhere * 核心功能结构图: ![核心功能结构图](https://gitee.com/li_man_qi/python-final-project/raw/master/image/%E6%A0%B8%E5%BF%83%E5%8A%9F%E8%83%BD%E6%95%B0%E6%8D%AE%E6%B5%81%E7%A8%8B%E5%9B%BE.jpg) * 部署心得: 首先是虚拟环境的创建,在创建时我选择的版本与我pycharm中python的版本一致为3.6版本,配置好虚拟环境后,按照网上搜索到的教程,创建好mysite文件夹,然后将自己的项目压缩包zip格式的上传,(因为我的电脑压缩包的格式为rar格式,在上传后解压后的文件存在问题,后压缩为zip格式后显示正确,不放心的小伙伴可以选择一个一个上传!)解压后文件移入之前创好的mysite文件夹,即可创建web应用。pythonanywhere部署在操作的过程中总是存在着很多bug,感谢范沛坤同学的倾情相助,得以顺利完成。 ## 六、学习/实践心得总结及感谢 ### 1.学习心得 本次项目对于我自身而言认为难度是非常大的,自身代码能力的不足以及所了解到的相关知识不够全面,导致在做项目的过程中难度很大,且一知半解。这个项目关靠我一个人是无法顺利完成的,在做的过程中,我多次在互联网上找寻了相关资料进行学习,多次请教同学朋友的问题,大家都非常热情的帮助了我十分感动!这次的项目中,我学到了很多,像样式、代码、部署等对我来说都是一个很大的挑战,但在挑战的过程中我学会了很多,也学到很多!这个项目很锻炼逻辑思维能力和代码能力,这让我意识到了今后学习的路上还很艰辛,但我不会放弃,一定会继续学下去的! * 本项目参考链接:(十分感谢!!) * 1.[菜鸟教程html](https://www.runoob.com/html) * 2.[菜鸟教程css](https://www.runoob.com/css) * 3.[基于flask框架的webapp在pythonanywhere上的快速部署](https://www.bilibili.com/video/BV127411c7qt?from=search&seid=16530489952306789319) * 4.[CSS 颜色代码大全 CSS颜色对照表](https://blog.csdn.net/qq_42152029/article/details/81984596) * 5.[手把手教你在pythonanywhere上部署Flask项目](https://www.jianshu.com/p/5d120cfd386e) * 6.[高德api路径规划](https://lbs.amap.com/api/webservice/guide/api/direction) * 7.[高德api天气查询](https://lbs.amap.com/api/webservice/guide/api/weatherinfo) * 8.[高德api静态地图](https://lbs.amap.com/api/webservice/guide/api/staticmaps) * 9.[flask几种部署方式实践](http://f.dataguru.cn/thread-917274-1-1.html) * 10.[python中对字典的循环遍历的方式](https://blog.csdn.net/qq562029186/article/details/80821335?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-14.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-14.control) * 11.[服务器出现 HTTP 400、404、500、502 错误原因及解决方法](https://www.360kuai.com/pc/991b96882728d88fc?cota=4&kuai_so=1&tj_url=so_rec&sign=360_57c3bbd1&refer_scene=so_1) * 12.[log文件的读并写入.text文件](https://blog.csdn.net/yuchou123456789/article/details/7198657) * 13.[https://lbs.amap.com/api/webservice/guide/api/staticmaps](https://lbs.amap.com/api/webservice/guide/api/staticmaps) * 14.[https://gitee.com/zhuang_jiawei/python_final](https://gitee.com/zhuang_jiawei/python_final) ### 2.感谢 这次的项目就我而言难度非常的大,感谢智超老师和游鸽老师辛苦忙碌一个学期传授的python相关知识,感谢在我写项目烦躁的时候身边朋友对我的包容,感谢陈航宇同学对我本次项目的强大帮助,细心的为我讲解项目,感谢范沛坤同学在pythonanywhere部署上给予的极大帮助,感谢所有网新学子的期末陪伴和互帮互助!!!谢谢大家,未来我们会越来越好的!加油!!!