内容正文:
2.6编写网络应用程序
一、教学设计模板
课程标准
和
教学目标
编写网络应用程序
教材内容: 2.6.3编写网络应用程序
适应的课程标准:
2.5通过分析常见的信息系统,理解软件在信息系统中的作用,借助软件工具与平台开发网络应用软件。
教学目标:
●理解网络应用软件的框架及基本组成结构。
●掌握使用Flask框架编写的网络应用软件的基本方法及步骤。
●了解聊天机器人的实现原理,从而进一步理解网络应用实现的不同之处。
指向的核心素养:
●信息意识:能够按要求获取与处理信息;在合作学习过程中,愿意与团队成员共享信息。
●计算思维:针对给定的网络应用的规划和设计,完成网络应用的代码编写。在此过程中能提炼出应用需求的基本特征,进行抽象处理,并用形式化的方法来表述。
●数字化学习与创新:掌握数字化学习系统,学习资源与学习工具的操作技能,用于开展自主学习、协同工作、知识分享与创新创造。
学习环境:有教学控制软件的多媒体机房,并装有PPT软件。
建议课时:1课时
教学活动设计
教学环节
教学过程
设计意图
情境导入
导入1:B/S架构的网络应用,客户端无需专门的应用程序,用户工作界面通过WWW浏览器来实现,应用程序基本上都集中于服务器端。引导学生思考B/S架构与常见的应用程序的不同之处,并针对以下问题进行讨论、交流和回答。
1、当用户通过浏览器访问服务器端资源时,网络应用如何获得浏览器的请求?
2、网络应用是如何获取用户输入信息的,它与普通本机应用有何区别?
3、网络应用如何将处理结果转化为网页形式,并返回给浏览器?
通过对预设问题的分析及讨论交流启发学生思考,引导学生从网络应用获取请求、获得用户输入及处理后信息的输出等情况出发,归纳总结出网络应用与普通单机运行的应用程序的不同,从而最终引出解决这些编程问题的Web应用框架。同时在此过程中也培养了信息意识。
知识讲解
通过分析上述问题,并在归纳总结学生回答的基础上,以PPT等多媒体投影或板书形式介绍网络应用程序编写的Web应用框架、及Flask框架构建网络应用的步骤及网络应用的编写代码。
I、Python常用的Web应用框架
· Flask
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具,然而Flask保留了扩增的弹性,可以用Flask-extension加入这些功能:ORM、窗体验证工具、文件上传、各种开放式身份验证技术。
· Django
Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,模板T和视图V。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。Django 框架的核心组件有:1、用于创建模型的对象关系映射;2、为最终用户设计的完美管理界面;3、一流的 URL 设计;4、设计者友好的模板语言;5、缓存系统。
· Tronado
Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。得利于其非阻塞的方式和对epoll的运用,Tornado 每秒可以处理数以千计的连接,因此 Tornado 是实时 Web 服务的一个理想框架。
II、Flask框架网络应用编写流程
III、例1网络应用程序代码
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '我的第一个Web程序!'
if __name__ == '__main__':
app.run()
通过讲授让学生Python中的网络应用框架有一个直观的认识,然后通过实例代码的学习和实践运行,理解和掌握Flask框架在网络应用编写中的流程及具体代码,让学生进一步强化相应知识的掌握,从而实现知识的内化和计算思维的培养。
实践体验(1)
在知识讲解的基础上,进一步提出任务,如何应用Flask框架实现“网络聊天机器人”。
根据“网络聊天机器人”所要实现的功能,可将实现分步进行: