《数据可视化技术》 课件 15 学生管理基础网页制作、16 招生数据增删改查操作_第1页
《数据可视化技术》 课件 15 学生管理基础网页制作、16 招生数据增删改查操作_第2页
《数据可视化技术》 课件 15 学生管理基础网页制作、16 招生数据增删改查操作_第3页
《数据可视化技术》 课件 15 学生管理基础网页制作、16 招生数据增删改查操作_第4页
《数据可视化技术》 课件 15 学生管理基础网页制作、16 招生数据增删改查操作_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《数据可视化技术》单元15学生管理基础网页制作项目介绍项目四:高校招生就业数据分析与可视化本项目采集了某高职院校的招生、就业数据。高职院校通过对招生数据的分析,了解不同专业的招生情况、招生分布、招生难易度等信息,从而更好地制订招生计划,提高招生效率。高职院校通过对历年毕业生就业数据的分析,了解不同专业的就业情况、就业分布、就业难易度等信息,从而更好地调整专业设置、优化课程设置,提高毕业生就业率01准备活动点名、复习本次课学习内容、学习目标介绍学习内容任务一:使用Flask制作学生管理基础网页现在需要使用Python开发一个简单的学生管理网站,当使用浏览器访问网站的根“/”时指向index.html主页,当访问“/register”时指向register.html,当访问“/manage”时指向manage.html。当使用浏览器访问“/login?name=admin”时,页面对name为admin的所有数据(用户ID、性别、年龄、签名、兴趣)进行对应渲染。当我们使用浏览器访问“/index?name=user”时,页面对name为user的所有数据(用户ID、性别、年龄、签名、兴趣)进行对应渲染任务1、Flask开发环境的安装和使用任务2、使用Flask的路由功能任务3、使用Flask模板渲染学习目标1、知识(1)了解Flask作用(2)掌握Flask的安装运行(3)理解Flask路由功能(4)掌握Flask模板渲染2、技能(1)能够搭建Flask开发环境(2)能够使用Flask路由功能(3)能够使用Flask进行模板渲染3、素养(1)严谨认真、代码规范;(2)数据安全、爱国精神;(3)信息检索能力02发展活动任务分析、任务资讯、演示讲解、任务实施学习内容1、教师讲解

Flask的使用

Flask路由、模板渲染2、学生讨论(1)Flask功能有哪些?(2)什么是路由?3、明确任务(1)Flask开发环境的安装和基本使用(2)使用Flask的路由功能(3)使用Flask模板渲染任务资讯1、Flask开发环境的安装和使用Flask是一个基于Python开发并且依赖jinja2模板和WerkzeugWSGI服务的一个微型框架。其用于接收http请求并对请求进行预处理,然后触发Flask框架。(1)Flask安装安装Flask的命令:pipinstallflask如果想指定Flask的版本,那么就要使用以下命令:pipinstallflask==版本如果想升级Flask的版本,那么可以使用以下命令:pipinstall--upgradeflask==版本任务资讯(2)Flask的简单使用新建一个Python脚本,命名为app1.py

打开浏览器,在地址栏输入:5000/index访问,可以看到“Hello,World!”字符任务资讯2、使用Flask的路由功能Flask路由就是对一个函数的映射,Flask的变量规则就是在路由URL中的一部分使用一个变量代替。(1)使用Flask的变量规则定制相应的路由新建一个Python脚本app2.py可以分别访问:8080/userByName/tom、:8080/userById/1验证效果。任务资讯(2)使用Flask的URL构建完成相应路由的编写Flask的URL构建就是使用url_for()函数动态获取路由中配置的URL,redirect可以实现网页重定向:redirect(url)redirect(url_for("admin"))练一练

任务要求:定义一个这样的路由,当我们访问/admin时,浏览器显示管理员:Admin;定义一个这样的路由,当我们访问/guest/alice时,浏览器显示游客:alice;当我们访问/guest/iris时,浏览器显示游客:iris;定义一个这样的路由,当我们访问/user/admin时,页面重定向到/admin;当我们访问/user/xxx,页面重定向到/guest/xxx(这里xxx表示任意字符串)。任务资讯任务资讯3、Flask模板渲染(1)编写一个获取GET请求中的参数并完成个人信息的数据渲染搭建一个基本的Flask骨架,目录结构如下:static目录:存放静态资源文件,例如:CSS、JS、图片、map3….等等;templates目录:存放jinja2模板页面,也就是HTML;app.py:Flask启动程序任务资讯flask模板渲染示例1、目录2、test.html3、test.py任务实施本任务主要分成两部分进行开发:一部分是Flask后端程序,实现路由跳转和数据发送的功能;另一部分是前端的网页制作。任务实施map={

"admin":{

"userid":"1",

"sex":"男",

"age":"28",

"introduce":"生命不止,奋斗不息",

"power":"我是管理员,可以管理所有页面。"

},

"user":{

"userid":"2",

"sex":"女",

"age":"20",

"introduce":"相信自己,一定能成功",

"power":"我是普通用户,可以查阅信息和留言。"

}}任务实施本任务主要分成两部分进行开发:一部分是Flask后端程序,实现路由跳转和数据发送的功能;另一部分是前端的网页制作。1、编写后端程序后端程序大概包括如下步骤:

1)导入相关包和依赖2)配置路由,实现不同页面的跳转3)创建用户字典数据

4)获取网址参数并取得变量,得到用户数据,在通过模板渲染跳转页面时携带参数到前端网页中去

5)创建启动代码。2、编写前端网页前端网页包括4个页面任务实施3.验证1)通过浏览器直接访问站点:5000/,显示学生管理者页2)通过浏览器访问:5000/register,显示注册页面3)通过浏览器访问:5000/manage,显示管理页面4)通过浏览器访问:5000/login?name=admin,显示管理员账户信息5)通过浏览器访问:5000/login?name=user,显示普通用户账户信息03整合活动总结、知识点梳理学习总结拓展任务使用Jinja2完成表格的数据渲染任务要求:定义一个这样的路由,当我们访问/index时,浏览器显示List中遍历的数据,渲染模板为index2.html。Python中List的内容如下:app=Flask(__name__)List=[{"name":"alice","time":"2019-10-18",},{"name":"iris","time":"2019-10-18",},拓展任务{"name":"Violet","time":"2019-10-18",}]通过Flask将List数据渲染到网页中,并通过表格显示出来,预期效果图,如下:访问方法:5000/index《数据可视化技术》单元16招生数据增删改查操作01准备活动点名、复习本次课学习内容、学习目标介绍学习内容任务:招生数据增删改查:为了方便查询学校各二级学院历年招生数据,需要将招生数据保存在数据库中。二级学院包括机械学院、电气学院、汽车学院、信息学院、经贸学院,需要存储它们的数据到MySQL数据库中,并使用Flask实现查询、新增、删除、修改等操作,实现招生数据的对比和管理本单元学习Flask操作数据库,对数据库进行增删改查操作。任务1、Flask获取请求对象参数任务2、使用Flask创建表映射任务3、使用Flask对数据添删改查学习目标1、知识(1)了解Flask获取请求参数的方法(2)掌握Flask创建表模型的方法(3)掌握Flask对数据库增删改查2、技能(1)能够使用Flask获取请求对象参数(2)能够使用Flask创建表映射(3)能够使用Flask对数据添删改查3、素养(1)严谨认真、代码规范;(2)数据安全、爱国精神;(3)信息检索能力02发展活动任务分析、任务资讯、演示讲解、任务实施任务实施1、教师讲解

Flask连接MySQL数据库、创建表映射

Flask操纵数据库2、学生讨论(1)Flask怎样连接MySQL?(2)什么是FlaskSQLAlchemy的表映射?3、明确任务(1)Flask获取请求对象参数(2)使用Flask创建表映射(3)使用Flask对数据添删改查任务资讯1、FlaskSQLAlchemy数据库是按照一定规则保存程序数据,程序再发起查询取回所需的数据,Web程序最常用基于关系模型的数据库,这种数据库也称为SQL数据库(关系型数据库),关系型数据库把数据存储在表中,表模拟程序中不同的实体。如下所示:表的列数是固定的,行数是可变的,列定义表所示的实体的数据属性。表中的行定义各列对应的真实数据。ORM全称ObjectRelationalMapping,中文意为对象-关系映射。其实它就是模型对象的概念把数据库的信息映射称一个个对象来操作。而不需要写SQL语句,简单来说就是面向对象编程。IDUserEmailPassword1张三zhangsan@163.com1234562李四lisi@163.com654321任务资讯2、Flask操作数据库Flask中的SQLAlchemy就是一个ORM框架,它依赖于pymysql,使用关系对象映射对数据库进行操作。Flask操作数据库主要步骤如下:安装依赖库。当我们使用Flask进行数据开发时,需要安装一些相应的依赖库mysqlclient、flask_sqlalchemy、pymysql连接数据库创建模型与表的映射数据库的增删改查等操作任务资讯(1)Flask连接数据库任务资讯(2)创建模型类,关联数据库中的表如要关联数据库中的users表db.Model:创建模型db.Column:创建模型属性可进入MySQL中“flask_table”数据库,查看是否存在“users”表先使用SQLAlchemy加载app并创建db实例,再创建模型类,关联数据库中的表users,id、name、email、pswd、role_id分别对应users表的字段,db.Column表示列名,db.Integer表示该字段为整型数据,db.String表示该字段为字符串数据。这些字段需要设置一个主键。任务资讯(3)增、删、改、查参考网址:/Mixtea/p/10678594.html在Flask-SQLAlchemy中,插入、修改、删除操作,均由数据库会话管理。*会话用db.session表示。在准备把数据写入数据库前,要先将数据添加到会话中然后调用commit()方法提交会话。db.session.add(role):添加到数据库的session中db.session.add_all([role1,role2]):添加多个信息到session中mit():提交数据库的修改(包括增、改、删)db.session.rollback():数据库的回滚操作db.session.delete():删除数据库任务资讯(3)创建/删除表创建表需要先创建表模型类,再执行db.create_all()命令,表示创建模型类对应的表。可以在执行创建表命令之前,使用db.drop_all()删除所有的表。任务资讯(4)插入数据要插入一条数据,可用模型类User创建实例(对应一条记录),加载列属性,再将该实例加入session事务,执行该事务,代码如下:要一次插入多条数据,则可先创建多个实例,再添加所有实例到session事务,执行该事务,代码如下:任务资讯(5)查询数据通过模型类的query方法可以实现数据查询。1)filter_by精确查询。如要查询名称为chen的所有记录信息,代码如下:User.query.filter_by(name='chen').all()其中all()返回查询到的所有对象,可以使用first()返回查询到的第一个对象。2)filter模糊查询。如要返回名字结尾字符为n的所有数据,代码如下:User.query.filter(U.endswith('n')).all()3)get()查询。通过get(),将其参数设置为主键,可以得到主键对应的记录。如果主键不存在,则没有返回内容。User.query.get(1)可以查询主键值为1的记录。任务资讯(5)查询数据通过模型类的query方法可以实现数据查询。4)逻辑条件查询。①使用逻辑非条件查询,返回名字不等于“zhou”的所有数据,代码如下:User.query.filter(U!='zhou').all()②使用逻辑与条件查询,需要导入and_依赖,返回and()条件满足的所有数据,代码如下:fromsqlalchemyimportand_User.query.filter(and_(U!='chen',User.email.endswith('163.com'))).all()③使用逻辑或条件查询,需要导入or_依赖,返回or()条件满足其一的所有数据,代码如下:fromsqlalchemyimportor_User.query.filter(or_(U!='chen',User.email.endswith('163.com'))).all(任务资讯(6)删除数据

一般会结合条件查询进行数据删除。如要删除User表的第一条数据,可执行下面命令:user=User.query.first()db.session.delete(user)mit()最后可以使用User.query.all()查询所有数据,检验是否删除了第一条记录。任务资讯(7)更新数据更新数据一般也会结合条件进行更新。如要将第一条记录的姓名修改为“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论