# python_final **Repository Path**: AliceZING/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**: 0 - **Forks**: 0 - **Created**: 2021-01-23 - **Last Updated**: 2021-01-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python_final | 网站名称 | 酷顶—Coding | |------|---------------------| | 部署到pya的网址 | [link](http://0zzzing.pythonanywhere.com/) | ### 项目要求 - 利用python基础语言知识+flask框架搭建一个web数据展示型项目。 - 顾名思义,"酷顶—Coding"是一个为想要了解、学习编程和代码基础知识与数据可视化案例的朋友服务的web平台。此网站里主要收集和展示一些有关代码的仓库、学习笔记还有数据可视化的作品——全国空气质量问题、城市PM2.5指数查询。主要可以提供服务给想要了解空气质量问题的人。 - 以下为网站框架关系图: ![网站框架](https://gitee.com/AliceZING/python_final/raw/master/%E6%A1%86%E6%9E%B6.png) ### 问题表述 - 项目主要做了:搭建登录界面,进入web,直观的展示空气质量图表数据。其次还有一些编程和代码基础知识的仓库与数据可视化案例相关的内容。 - 用户画像: | 用户一 | | |------|---------------------| | 姓名 |Alice | | 年龄 | 19 | | 身份 | 学生 | | 用户需求 | 参与了地理课实地考察项目,想要收集全国各个地区空气质量指数 | | 用户二 | | |-----|---| | 姓名 |lauv | | 年龄 | 19 | | 身份 | 学生 | | 用户需求 | 编程小白,想找到开源的基础代码编程项目参考并练习,并且想找到有数据可视化展示的网站里和他人进行html5、css3、python等的学习交流 | | 用户三 | | |-----|---| | 姓名 |Matt | | 年龄 | 62 | | 身份 | 退休老人 | | 用户需求 | 闲暇时间、积蓄充足,想找一个空气质量好的地方度假,远离大城市的喧嚣,呼吸新鲜空气 | - 价值主张画布: ![huabu](https://gitee.com/AliceZING/python_final/raw/master/%E4%BB%B7%E5%80%BC%E4%B8%BB%E5%BC%A0%E7%94%BB%E5%B8%83.png) ### 解决方案表述 - python final project整体规划从学到的知识里,我能做些什么下手。首先是使用登录系统界面作为开篇,然后进行各页面的不同内容展示。 - 所使用到的python知识点: | | | |---------|---------------------------------| | 一、登录页 | if判断语句,字典的使用,methods跳转方式,action=“/页面” | | 二、首页 | 添加出站锚点、添加内站按钮跳转link(href=)) | | 三、数据展示页 | 表格table、导航nav等标签的使用 | | 四、日志log | request请求导入输入的数据,escape方法 | | | | #### 编程功能的基本描述 1. 注册与登陆系统 - HTML 表单 让用户输入账号密码信息数据 ```html {% if form.username.errors %} {{ form.username(class="form-control is-invalid", placeholder="用户名") }}
{% for error in form.username.errors %} {{ error }} {% endfor %}
{% else %} {{ form.username(class="form-control", placeholder="用户名") }} {% endif %} ``` - HTTP 请求 用于数据的传递 ```python @app.route('/register', methods=['GET', 'POST']) ``` ```html
``` - Flask 第三方模块的使用 ```python from flask import request, redirect, render_template, flash, url_for, escape from album_app import app, db, bcrypt from album_app.forms import RegistrationForm, LoginForm, PostForm from album_app.models import User, Post from flask_login import login_user, current_user, logout_user, login_required ``` - 条件判断语句,用于登录系统 ```python if current_user.is_authenticated: return redirect(url_for('home')) ``` 2. 学习成本(时间成本) 知识点 | HTML表单、HTTP 请求 | 页面布局css3、Bootstrap样式嵌入 | 条件判断语句、 | API、字典、列表 | 自定义模块的使用 | Flask 第三方模块的使用 ---|---|---|---|---|---|--- 学习成本(天) | 2 | 3 | 2 | 3 | 1 | 2 应用比例 | 15% |60% | 25% | 15% | 10% | 15% 3. 知识点比例结构 ![知识点比例](https://images.gitee.com/uploads/images/2021/0114/195253_f51e15dd_5330565.png "知识点比例结构.png") #### 云端项目部署的基本描述 ##### 页面链接与页面功能介绍 **注册与登陆系统功能组** - 登录成功页:http://0zzzing.pythonanywhere.com/search - 登陆页:http://0zzzing.pythonanywhere.com/ - 注册页:http://0zzzing.pythonanywhere.com/register **网站基本内容展示功能组** - 首页:http://0zzzing.pythonanywhere.com/search - 功能介绍页:http://0zzzing.pythonanywhere.com/about - 日志系统管理页:http://0zzzing.pythonanywhere.com/log - 数据交互页: - http://0zzzing.pythonanywhere.com/data_one - http://0zzzing.pythonanywhere.com/data_two - 数据展示页:http://0zzzing.pythonanywhere.com/data_three - 使用pythonanywhere部署 - 主要参考博客[link](https://blog.csdn.net/qq_15260769/article/details/83182185) ![bs](https://gitee.com/AliceZING/python_final/raw/master/%E9%83%A8%E7%BD%B22.png) ![bs](https://gitee.com/AliceZING/python_final/raw/master/%E9%83%A8%E7%BD%B23.png) - 页面结构图 ![页面结构图](https://gitee.com/AliceZING/python_final/raw/master/%E9%A1%B5%E9%9D%A2%E7%BB%93%E6%9E%84.png) - 数据库: 1. http://zzzing.pythonanywhere.com/login 2. http://zzzing.pythonanywhere.com/addlogin - 云端功能 - pythonanywhere为python开发者提供了免费的云端环境 - 简单配置wsgi直接部署web应用 - 提供MySQL和Postgres - 免费账户两个console,我一个Bash,一个MySQL - 图形化文件编辑页面 - 简单够用的web监控面板,显示访问量、日志登服务 - 计划功能,设置时间,自动执行脚本 - 简洁、便捷、易用 - 部署心得 ![部署](https://gitee.com/AliceZING/python_final/raw/master/%E9%83%A8%E7%BD%B21.png) 部署对我来说是一个很艰难的过程因为csdn上的方法与书本上的有差异,两种方法都尝试了很多遍,从晚上十点到凌晨四点,简直就是一场bug奇遇记!增长了对bug的了解或许也能算一个不错的收获吧! ### 学习/实践心得总结及感谢 #### 学习参考链接 - 数据参考: | | | | |---|---| --- | |1| 东莞空气质量指数 | https://www.tianqi.com/air/dongguan.html | |2| 空气质量 | http://pm25.in/ | |3| PyEcharts | https://gallery.pyecharts.org/#/Bar/bar_stack1 | - 学习参考: | | | | |---|---| --- | |1| python的flask框架下从web输入信息,将其存入数据库,然后调用数据库,将其显示到web页面 | https://www.cnblogs.com/qingnvsue/p/13020080.html | |2| 学习用Python制作一个简易爬虫并做初步的数据可视化| https://blog.csdn.net/wqc_CSDN/article/details/80366461 | |3|通过 Python 写一个数据录入的 web 页面 | https://www.v2ex.com/t/530474 | |4| bootstrap页面样式 | https://v3.bootcss.com/| |5| CSS3样式、组件修饰网页 | https://www.runoob.com/css/css-tutorial.html | |6| 基于Python的用户管理系统实现 |https://blog.csdn.net/tox33/article/details/83691011?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.control | |7| Python基础-用户信息登录注册系统(使用字典和列表) | https://blog.csdn.net/weixin_43891218/article/details/97970069 | |8| 数据可视化案例参考 | https://gallery.echartsjs.com/| |9| pythonanywhere 部署 Python web项目 | https://blog.csdn.net/qq_15260769/article/details/83182185 | |10|何实现JS前端与Python后台的结合|https://blog.csdn.net/a312863063/article/details/87898349| |11|Pythonanywhere部署项目|https://www.cnblogs.com/jiajhao/p/13086840.html| |12|web框架Flask前后端分离|https://pyecharts.org/#/zh-cn/web_flask?id=flask-%e5%89%8d%e5%90%8e%e7%ab%af%e5%88%86%e7%a6%bb| - 学习心得及感谢 刚开始得知这个专业要学习代码时,我非常的恐慌,因为深知自己的思维能力远不及他人。上了游鸽老师的python课之后,开始觉得代码其实也没那么可怕,也没有想象中像一道不可逾越的鸿沟,老师会非常耐心地解答我们的问题。而且我深刻地体会到了写代码最重要的是耐心,因为这条路上会遇到无数的404,502......非常感谢解答我问题的老师们和自己也要赶项目却还是会耐心跟我解释的同学们! 完成项目依靠老师上课讲的内容和我们已有的编程知识是远远不够的,我们还需要不断地吸收其他新知识。 我在项目中遇到了多次运行失败的挑战,但通过耐心的思考和虚心的请教,总是能够想到导致 Bug 的因素和解决 Bug 的方法。在完成这几个项目的过程中我收获颇多。