# python_期末
**Repository Path**: yangguojuan/python-final-term
## Basic Information
- **Project Name**: python_期末
- **Description**: No description available
- **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-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
### 如果文档中有图片显示不出来 麻烦批改的小可爱看看自己是否是在登录的状态下查看的!(有些图片可能太大了,登录状态下查看是没有问题的哦)(如有其它问题可以qq微信私聊我)
# Python 项目技术文档
## 一、项目介绍
### 1、 项目标题与简介
[基于 Python 的 Flask Web App:自然之窗](http://yelena.pythonanywhere.com/)
自然之窗,字如其意,就像一个窗口一般为动植物爱好者提供了一个知识浏览平台。我们关注世界上的濒危的动物和植物,通过收录它们的信息展现给人们看,希望可以通过这样的行为引起人们对动植物的关注,引导人们关注动植物、保护动植物,促进人与自然的和谐共生。目前本平台只收录了部分的濒危动植物信息,收录工作还在继续中,未完待续......

### 2、 问题表述
> 问题表述从用户为出发点 进行了五个步骤的思路梳理:
**1、用户画象**:热爱动植物的人群、关注自然 保护自然的群体
**2、用户使用场景**:在日常生活空闲的时候,可以浏览自然之窗网站,这里提供了很多濒危动植物的知识,供你了解、学习。
**3、用户任务**:登录平台浏览平台已收录的信息,同时也可以进行点赞或者分享给好友。
**4、用户痛点**:大自然给我们提供了生活的环境,同时我们也应该关注大自然中的一切事物,例如动物、植物。近些年来,越来越多的动植物走向灭绝,很大一部分原因都是人为造成的。人们对大自然事物的漠视,引导人们爱护自然、保护自然势在必行。
**5、产品益点**:通过这样一个信息浏览平台,引起人们对濒危动植物的关注,从而更加关注大自然、爱护大自然。
### 3、价值主张画布

***
## 二、解决方案
### 1. 项目规划与知识点
> 知识点见下方**学习工具/语言一览表**
#### 1.1、整体项目规划
**前期(5-6天):**
- 想法构思,确定主题
- 了解利用flask构建网站所需的准备工作
- 做哪些功能页,也够串联起来,建立一定的联系
- 学习如何利用bootstrap参与页面样式构建的知识
- 数据库入门学习
**中期(3天):**
- 调试每个网页功能是否能够正常运行
- 页面布局样式美化
- 部署pythonanywhere
- 制作原创图:价值主张画布、页面结构图、页面流程图
**后期(1天):**
- python文档撰写与资料整合
- 总体回顾
### 2、编程功能的基本描述
> 下面我将结合计算/编程思维和向人文/传播思维的两个方面对方法进行描述
#### ①、计算/编程方向思维
**功能的基本流程**
> 登录与注册主要运用**html与css**表单样式和背景样式、**bootstrap**的样式模板的知识实现;首页使用了**bootstrap**的样式模板;关于我们、个人中心页面内容呈现有序。
**代码优化**
> 通过代码**注释、空行与PEP8代码格式**对代码进行规范梳理。
**解决bug**
> 调用功能的过程中遇到了不少问题。经过搜索和修改已经逐个排查。
#### ②、人文/传播方向思维
**文件处理**
> 将各类文件进行归类是十分重要的。文件的命名与文件夹的放置都需要设置好,才能以免之后查找文件获取文件的麻烦。同时也要有时刻保存文档和项目的习惯,以免文件丢失。
**逻辑思考**
> 将整个网站的构架与流程进行梳理离不开逻辑的思考。各个页面各个功能的排列顺序与放置位置都要站在使用者的角度上进行调整。
### 3、学习工具/语言一览表
| 运用到的工具/语言 |
详细内容 |
目的 |
重要程度 |
难度 |
学习成本占比 |
| pycharm |
代码的撰写与运行 |
运行代码 测试代码 |
基础 |
易 |
10% |
| jupyter notebook |
快捷键及运行 |
运行代码 展示结果 |
基础 |
易 |
10% |
Python语言 |
列表list的知识点 |
取值、增删改、切片 |
基础型 |
易 |
20% |
| 基础知识 |
内置函数(fromkeys、count、map)、for循环、if else函数 |
基础性 |
易 |
20% |
| Flask-sqlalchemy知识学习 |
Flask-sqlalchemy的使用 |
重要 |
超级无敌难 |
60% |
CSS语言 |
网页布局、背景颜色、各组件的样式等等的调整 |
页面的美观与优化 |
重要 |
中等 |
40% |
| HTML语言 |
网页内容填充 |
网页内容及组件的填充 |
基础 |
易 |
30% |
| 自定义模块 |
自定义模块的使用 |
在写函数的过程中自定义模块 |
重要 |
中等 |
30% |
| flask应用框架 |
导入模块、定义路由及请求方式、定义视图函数 |
得到一个可应用的网页 |
重要 |
中等 |
50% |
| jinja2模板 |
模板定义的语法 |
作为模板引擎嵌套于所需网页 |
基础 |
易 |
10% |
| pyhonanywhere云端部署 |
注册及使用 |
将flask应用部署到pythonanywher,方便将自己的项目成果分享给别人 |
重要 |
难 |
30% |
| processon图表绘制 |
基础工具使用 |
绘制各类流程图等图 |
基础 |
易 |
10% |
***
## 三、云端项目部署的基本描述
### 1、pythonanywhere部署
[pythonanywhere链接](http://yelena.pythonanywhere.com/)
已注册账号:
| 用户名 | 邮箱 | 密码 |
| :----: | :----: | :----: |
| yang | 1282247832@qq.com | ygj1217 |
### 2、页面展示
有效功能页面数量共10个
首页:[http://yelena.pythonanywhere.com/](http://yelena.pythonanywhere.com/)

注册页:[http://yelena.pythonanywhere.com/register](http://yelena.pythonanywhere.com/register)

注册成功:[http://yelena.pythonanywhere.com/success](http://yelena.pythonanywhere.com/success)

登录页:[http://yelena.pythonanywhere.com/login](http://yelena.pythonanywhere.com/login)

个人中心页:[http://yelena.pythonanywhere.com/home](http://yelena.pythonanywhere.com/home)

注销页:[http://yelena.pythonanywhere.com/delete](http://yelena.pythonanywhere.com/delete)

注销成功页:[http://yelena.pythonanywhere.com/deletestudent](http://yelena.pythonanywhere.com/deletestudent)

关于我们页:[http://yelena.pythonanywhere.com/intro](http://yelena.pythonanywhere.com/intro)

日志系统页:[http://yelena.pythonanywhere.com/log](http://yelena.pythonanywhere.com/log)

点赞页:[http://yelena.pythonanywhere.com/like](http://yelena.pythonanywhere.com/like)


### 3、云端部署心得
在pythonanywhere部署的过程中,我遇到了很多的问题,频繁报错,我对照的报错信息,一项项问题的解决,同时也请教了很多的同学,在他们的帮助和在网络上查找信息下,最终终于成功了。
我自己的体会就是在写代码的过程中一定要注意严谨,规范好格式和清楚自己所写的函数和模块,只有了解清除这些才能更好、更快速的找错并排错。
### 4、数据流程图

***
## 四、学习/实践心得总结及感谢
| 在做这个项目的过程中,我深深感觉到了不容易,这些痛苦、吃力都来源于平时对python课程缺少重视,课下没有花时间和精力去练习和探索。代码这些东西都是要靠自己去摸索和尝试的,并不是那种看看、听听就能会的,一定要去实践。做项目的过程中,我对利用flask框架构建网站有了更深一步的了解,所以这段时间以来,我一边学习一边探索怎么做Flask的网站,在这期间参考了许多同学的代码和作法,在此向它们表示诚挚的感谢,同时除了同学的帮助,我发现我们应该要善于利用网络资料,bilibili上面就有很多视频可以供我们学习,这些都是很好的选择。虽然在做项目的过程中是真的很难,经常熬夜,这几天觉也没睡好,但庆幸的是,最后做出来了,还是挺有成就感的。最后在此,真诚的感谢游鸽老师和许智超老师对我们学习上的帮助,以及我身边的同学和朋友们。 |
| :--- |
### 1、下面是参考的网络资源的分享(共20条链接):**
资源类:
- [渐变色网站](https://webgradients.com/)
- [页面样式网站bootstrap](https://www.bootcss.com/)
- [阿里巴巴矢量图标库](https://www.iconfont.cn/)
- [页面CSS布局样式](https://www.runoob.com/css/css-tutorial.html)
案例&方法参考:
- [Flask登陆注册界面代码参考](https://www.cnblogs.com/2019-4-2/p/10765199.html)
- [Flask-sqlalchemy增删改查之(删除数据)](https://blog.csdn.net/li944254211/article/details/109327835)
- [Python Flask Web框架入门](https://blog.csdn.net/sinat_38682860/article/details/82354342)
- [查找python中删除列表重复元素](https://blog.csdn.net/hustwayne/article/details/83755142?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1.control)
- [在pythonanywhere部署flask项目](https://www.jianshu.com/p/5d120cfd386e)
- [flask环境配置](https://www.cnblogs.com/kaerxifa/p/11776627.html)
基础知识学习:
- [Flask-SQLAlchemy快速入门](http://www.pythondoc.com/flask-sqlalchemy/quickstart.html)
- [bootstrap表格样式](https://www.runoob.com/try/try.php?filename=bootstrap3-table-hover)
- [log文件的读并写入.text文件](https://blog.csdn.net/yuchou123456789/article/details/7198657)
- [HTML空格占位符](https://blog.csdn.net/sforiz/article/details/43937237)
- [Python PEP8 编码规范中文版](https://www.cnblogs.com/zhigu/p/10349048.html)
- [python函数传参的四种方式及四种形参定义方式](https://blog.csdn.net/qulang4358/article/details/91873404?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161087771516780271577660%252522%25252C%252522scm%252522%25253A%25252220140713.130102334..%252522%25257D&request_id=161087771516780271577660&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-91873404.pc_search_result_no_baidu_js&utm_term=python%E4%BC%A0%E5%8F%82%E6%95%B0%E7%9A%84%E6%96%B9%E6%B3%95)
动植物信息搜寻:
- [濒危动物信息列表](https://www.phb123.com/keji/ziran/38599.html)
- [濒危植物信息列表](https://baijiahao.baidu.com/s?id=1648046843062618914&wfr=spider&for=pc)
视频资源:
- [数据库的创建、删除和修改](https://www.bilibili.com/video/BV1wZ4y1476U?from=search&seid=5395403955477643905)
- [Python项目实战-Flask网站搭建](https://www.bilibili.com/video/BV16t411a7ce?p=19)