# Python-Final **Repository Path**: fanpeikun/python-final ## Basic Information - **Project Name**: Python-Final - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-01-19 - **Last Updated**: 2025-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目名称:[天气查询网站](https://fanpeikun.pythonanywhere.com/) - **撰写人:范沛坤** ## 一、加/价值宣言 - **你曾因为旅游遇到高温天气而烦恼吗?你曾因为晒被子突然下雨而抓狂吗**?本项目通过python代码和调用高德开放平台中的[天气查询](https://lbs.amap.com/api/webservice/guide/api/weatherinfo)api服务,旨在让用户知道每天的天气状况,在有特殊天气时能有所准备,平安度过每一天! #### 页面流程图 ![页面流程图](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0003.png) ## 二、问题描述 我们的生活中很多时候都是需要出门的,那么知道当天的天气状况是很重要的一件事,这决定了我们能不能对特殊天气有所准备。很多人喜欢到不同城市旅游,那么就需要知道目标城市的天气,才能根据情况制定计划,有个好的体验;也有人洗晒了衣物被褥,那么就需要知道会不会下雨,风大不大,避免淋湿吹走;在室内我们很难感知到室外的温度,所以我们就需要知道气温,根据情况增减衣物......可见天气状况对我们的生活大有影响,这时就需要精准的天气查询,避免天气对我们造成的困扰。 ## 三、解决方案表述 Python项目如何做整体项目规划?用到的基本的Python基础知识点有哪些?可以以表格及/或可视化成果作为该部分的描述。 ) (图表建议:此部分视项目需求,可以使用知识图谱进行解决方案描述) #### (一)整体项目规划 - 首先先是确认了该项目想要实现的功能。为了实现天气查询的功能,网站调用了高德开放平台的天气查询API和地理编码API。地理编码将地点转换为天气查询功能可以理解的编码,天气查询则能返回天气状况、气温、风向与风力等信息,实现了网站的功能。 其次是运用HTML、css、python搭建Flask框架,这一部分是网站的主体部分,网站的页面和功能的实现都靠这一步骤。 最后使用Pythonanywhere将网站部署在云端。 #### (二)用到的基本的Python基础知识点 | 知识点 | 功能 | | :----: | :----: | |API的调用|调用API实现网站的功能| |flask模块|搭建网站的框架| |列表、字典|实现功能返回数据的呈现| |日志|实现日志的读取| |HTML和CSS|编写网页,优化样式| |pythonanywhere|项目的云端部署| ### 编程功能的基本描述 1. **API的调用** 项目第一步是先去找到能够实现项目功能的API,通过API的调用,来实现网站的功能。本次项目我选择的是高德开放平台的天气查询API,再通过地理编码API的调用和高德的key来辅助实现网站天气查询功能。 - API的调用占整个项目的15%,学习成本大约为10天。 2. **HTML和CSS** 第二步是利用HTML和CSS来编写优化网页,一个好的网站一定是好用易用的,同时美观的网站也会提升用户体验。所以这一步不仅要将网站的每一个页面写好,也要考虑怎样设计网站才能让用户有良好的使用体验。 - HTML和CSS占整个项目工作的20%,学习成本大约为20天。 3. **Flask模块** 第三步是利用Flask模块架构网站,利用函数使API的功能能在网站中实现,再将HTML和CSS编写好的网页接入网站。这一步骤一定要细心,要进行多次地检查和修改,这一步骤完成后网站就已经初具雏形了。 - Flask模块占整个项目工作的40%,学习成本大约为20天。 4. **日志** 第四步是建立日志系统,将网站的数据写入日志以及通过读取日志的形式给呈现在网站页面中,能够清晰地看到网站运行的记录。 - 日志占整个项目工作的5%,学习成本大约为7天。 5. **列表、字典** 第五步是将API功能成功实现后所返回的众多参数进行筛选,通过列表、字典取值、拆分等方式,将返回数据中有用的部分呈现在页面,方便用户的阅读。 - 列表、字典占整个项目工作的10%,学习成本大约为5天。 6. **云端部署** 第六步是将网站在云端进行部署,使网站在其他设备上也能够正常使用,我使用了pythonanywhere进行云端部署,是网站能够在浏览器中完整地呈现。 - 云端部署占整个项目工作的10%,学习成本大约为一小时。 ### 云端项目部署的基本描述 #### [Pythonanywhere页面链接](https://fanpeikun.pythonanywhere.com/) - 已注册账号密码: 账号:1910130038 密码:02234719 起始页:https://fanpeikun.pythonanywhere.com ![1](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0001.png) 登录页:https://fanpeikun.pythonanywhere.com/login ![2](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0002.png) 登录失败:https://fanpeikun.pythonanywhere.com/start01 ![4](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0004.png) 注册页:https://fanpeikun.pythonanywhere.com/registered ![6](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0006.png) 注册成功:https://fanpeikun.pythonanywhere.com/registeredok ![7](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0007.png) 功能页:https://fanpeikun.pythonanywhere.com/start ![5](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0005.png) 天气查询:https://fanpeikun.pythonanywhere.com/tianqi ![9](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0009.png) 查询结果:https://fanpeikun.pythonanywhere.com/search ![10](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0010.png) 日志: ![8](https://gitee.com/fanpeikun/python-final/raw/master/pictures/0008.png) * 云端部署心得: 在课上学习部署时我的账号还没注册好,所以对部属这部分实际上并不太熟悉。但通过B站的视频教学和百度上的一些参考,我很快就掌握了这部分知识。部署过程中的主要难点在于因为不太熟练,导致代码有很多错误,经过多次修改与尝试才成功将网站部署上去。不过经过多次的错误,也让我对这部分知识更加记忆深刻。 ## 学习/实践心得总结及感谢 #### 心得 本次项目对于我来说是个不小的挑战,既考验平时所学知识,又考验逻辑思维能力。也充分地说明了,有想法简单,但要实现自己的想法却不简单。因为本次项目做起来极其痛苦难熬,所以完成后的成就感也是非常大的,也让我从此对代码更感兴趣了,在假期也想要进一步巩固这方面的知识。 * 本项目参考资料链接: 1.[百度翻译](https://fanyi.baidu.com/) 2.[HTML
action 属性](https://www.runoob.com/tags/att-form-action.html) 3.[颜色表及html代码](http://xh.5156edu.com/page/z1015m9220j18754.html) 4.https://gitee.com/CHYYHC/python-website 5.https://gitee.com/huang_zehao/python-final-project 6.https://gitee.com/gaoxianglin/python-final-project 7.[天气查询](https://lbs.amap.com/api/webservice/guide/api/weatherinfo) 8.[地理编码](https://lbs.amap.com/api/webservice/guide/api/georegeo) 9.[Pythonanywhere部署Flask项目](https://www.jianshu.com/p/9974701034ef) 10.https://github.com/Maifengyuan/Python-web_finalproject 11.[手把手教你在pythonanywhere上部署Flask项目 ](https://www.jianshu.com/p/5d120cfd386e) 12.[哔哩哔哩](https://www.bilibili.com/) 13.https://www.bilibili.com/video/BV127411c7qt 14.[500错误](https://baike.baidu.com/item/500%E9%94%99%E8%AF%AF/3721508?fr=aladdin) 15.https://help.pythonanywhere.com/pages/ 16.https://jingyan.baidu.com/article/ca2d939d0bcbd5eb6c31ce34.html 17.https://v3.bootcss.com/ 18.https://www.runoob.com/bootstrap/bootstrap-plugins-overview.html 19.https://www.runoob.com/bootstrap/bootstrap-html-codeguide.html 20.https://gitee.com/huangjieqi/python_2019/tree/master/ #### 感谢 感谢游鸽老师这一个学期的教学,带领我入门了python;感谢李漫琪同学,该项目是在她的陪同下完成的,她给予了我灵感与鼓励;感谢以上的参考链接,没有前人的经验帮助,凭我个人能力是不足以完成该项目的。特此感谢各位。