# Python_final-project **Repository Path**: song_dan_li/python_final-project ## Basic Information - **Project Name**: Python_final-project - **Description**: Python|期末项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-01-23 - **Last Updated**: 2021-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python 语言基础项目技术文档 ## 一、项目介绍 ### 1. 项目标题与简介 [基于 Python 的 Flask Web:天气与地图查询网站](http://songdldl.pythonanywhere.com/) 这是一款智能天气地图查询平台 。能够通过智能 API 分析你所输入的所在城市,用于查询天气状况与周边环境地图。 ![功能框架结构图](https://gitee.com/song_dan_li/python_final-project/raw/master/img/sitemap.png) - 注意:由于网站部署在pythonanywhere上,最近登录页面后可能出现500 Internal Server Error报错现象,经过排查确认代码无误,如出现是pythonanywhere服务器过载问题。 ### 2. 问题表述 **用户画象**:需要经常出门的16-30岁用户群体 **用户使用场景**:在学习、生活、旅游时需要知道当地当时的天气状况,到达不熟悉的区域位置时需要运用周边地图进行位置查询。 **用户任务**:输入想要查询信息的城市及所在地理位置。 **用户痛点**:天气查询与地图查询往往分布于不同的平台,想要得知所有信息需要转换几种平台,操作较为繁琐,用户需要一款即时出门即时查看的工具。 **产品益点**:在一个网站中同时显示用户查询地点的天气和周边地图信息,省去用户切换平台的时间与精力。 --- ## 二、解决方案 ### 1. 项目规划与知识点 本项目主要通过注册与登陆系统、天气查询、静态地图查询以及日志系统4个功能,并配合 Bootstrap 的统一样式模版及 HTML 、CSS 相关知识来完成,以下为其中涉及到的Python基础知识点: |python基础知识点 | 实现的功能| |:--:|:--| |flask模块 | 搭建网站框架| |封装函数功能|把高德API、登陆判断、注册代码写入打包成函数| |函数调用|把打包好的函数放在同一级下使用| |open语法|实现注册功能的本地写入| |split语法|实现注册写入的拆分| |if、for等基础语法|实现登录注册的检测| ### 2. 项目时间成本 知识点 | flask模块 | 数据库 | 封装函数功能 | 函数调用 | open语法 | split语法 | if、for等基础语法 ---|---|---|---|---|---|---|--- 学习成本(天) | 15 | 15| 8 | 3 | 2 | 1.5 | 10 应用比例 | 15% | 10% | 15% | 15% | 10% | 15% |25% ### 3. 云端项目部署的基本描述 #### 3.1 页面链接与页面功能介绍 **注册与登陆系统功能组** - 欢迎页:http://songdldl.pythonanywhere.com/ - 登陆页:http://songdldl.pythonanywhere.com/login - 注册页:http://songdldl.pythonanywhere.com/registered1 - 注册成功页:http://songdldl.pythonanywhere.com/registeredok1 - 日志系统管理页:http://songdldl.pythonanywhere.com/viewlog **查询展示功能组** - 功能选择页:http://songdldl.pythonanywhere.com/start - 天气查询页:http://songdldl.pythonanywhere.com/tianqi - 天气查询结果页:http://songdldl.pythonanywhere.com/search - 静态地图查询页:http://songdldl.pythonanywhere.com/map - 静态地图查询结果页:http://songdldl.pythonanywhere.com/mapending 有效功能页面数量共10个 #### 3.2 云端功能 注册与登陆、天气查询功能、静态地图查询功能、账号信息储存(数据库) #### 3.3 部署心得 在本地运行良好的项目在部署后并不能立刻良好地运行。部署初期我遇到了很多问题: 1. 云端服务器的[虚拟环境](https://www.jianshu.com/p/5d120cfd386e)没有配置、[模块未安装](https://blog.csdn.net/qq_37003230/article/details/83447596); 2. pythonanywhere无法[成功部署](https://www.jianshu.com/p/5d120cfd386e);本地运行良好的项目在部署后出问题是正常的现象,我们可以第一时间查看[文档](https://help.pythonanywhere.com/pages/)解决或通过邮件[寻求技术人员](https://www.pythonanywhere.com/forums/)的帮助。 #### 3.4 其他参考学习URL: - 1.[w3school](https://www.w3school.com.cn/) - 2.[Bootstrap中文网](https://www.bootcss.com/) - 3.[在线颜色选择器](http://tools.jb51.net/static/colorpicker/) - 4.[CSDN](https://www.csdn.net/) - 5.[bootstrap1](https://v3.bootcss.com/getting-started/#template) - 6.[bootstrap2](https://v3.bootcss.com/examples/signin/) - 7.[bootstrap3](https://v3.bootcss.com/examples/sticky-footer/) - 8.[geo1](https://lbs.amap.com/api/webservice/summary/) - 9.[geo2](https://lbs.amap.com/api/webservice/guide/api/staticmaps) - 10.[geo3](https://lbs.amap.com/api/webservice/guide/api/weatherinfo) - 11.[geo4](https://lbs.amap.com/api/webservice/guide/api/georegeo) - 12.[Web登陆页面](https://blog.csdn.net/qq_34608447/article/details/105297897?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161137835816780265426234%252522%25252C%252522scm%252522%25253A%25252220140713.130102334..%252522%25257D&request_id=161137835816780265426234&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-105297897.first_rank_v2_pc_rank_v29&utm_term=%E5%A5%BD%E7%9C%8B%E7%9A%84css%E7%99%BB%E5%BD%95%E6%A0%B7%E5%BC%8F) - 13.[HTML label标签](https://www.php.cn/div-tutorial-408541.html) - 14.[生成静态地图图片](https://blog.csdn.net/qq_41164267/article/details/82589891) 独立有效外连URL:19个 --- ## 三、学习/实践心得总结及感谢 完成项目依靠我们已有的编程知识是远远不够的,还需要不断地吸收其他新知识。刚开始做这个项目时我十分无助,不知该如何下手,在经过查询[bilibili](https://www.bilibili.com/)、[知乎](https://www.zhihu.com/)、[CSDN](https://www.csdn.net/)以及[w3school](https://www.w3school.com.cn/)这几个平台有关搭建网站的文章视频后,我找到了出发点,再到后来一步步的去实现各个功能,其中感受编程的喜悦难以明说的,通过项目不断提高了我的编程思维和代码能力;这其中离不开老师和热心同学的帮助。在老师的指导下,我学会了python语言的基础知识,课堂和课下出现的问题都会提供解决方法,制作项目中出现了问题也会和同学线上连线一起解决,在这十分感谢陈航宇、陈佳男、李嘉浩等同学,帮助我一步步完善代码逻辑,不因文件繁多而导致错乱,最终完成了完整的网站架构与云端部署。 在完成项目的过程中,我尝试了一次又一次的运行失败,但终会通过分析与不断查询资料解决一处处BUG,python学习实在令我受益匪浅。 --- 独立有效外连URL:21个