【新教材】2021-2022学年浙教版(2019)高中信息技术必修二 2.6 网络应用软件开发(第2课时) 课件(19PPT)

文档属性

名称 【新教材】2021-2022学年浙教版(2019)高中信息技术必修二 2.6 网络应用软件开发(第2课时) 课件(19PPT)
格式 pptx
文件大小 1.6MB
资源类型 教案
版本资源 浙教版(2019)
科目 信息技术(信息科技)
更新时间 2022-06-23 08:08:12

图片预览

文档简介

(共19张PPT)
信息技术(必修2)
信息系统与社会
网络应用软件开发
第2课时
Python中常用的Web应用框架
编写网络应用程序首先要确定相应的Web应用框架,在Python中常用的Web应用框架有Flask、Django及Tronado,其中Flask Web框架非常精简,属于小型框架。
Flask Web框架具有一个包含基本服务的核心,并且是一个可扩展的框架,很多功能可以通过扩展来实现。它允许开发者任意挑选符合项目需求的扩展,甚至可以自行开发。
编写网络应用程序
使用Flask Web框架编写网络应用流程
编写网络应用程序
编写网络应用程序
当用户在浏览器中向Web服务器发出请求时,Web服务器会把请求发送给Flask应
用实例,如上面的APP。那么应用实例是如何知道每个URL与哪些Python代码相关联
并运行的呢 Flask是通过路由和视图函数的方法来解决这个问题的。上述代码中的“@
app.route(7)”与“index()”就是一对路由和视图函数,而路由又与URL相关联,如网
站为www.,当用户访问网页http://www./时,则视图函数index()的代码就会
被运行。具体如图2.6.7所示。
编写网络应用程序
编写网络应用程序
在Flask框架中Web服务器是自带的,调用应用实例APP的run方法就会启动该集成的开发Web服务器,服务器启动后就会进入轮询状态,等待用户访问并处理用户请求,直到程序停止。“_name__=='_main__”是确保只有当直接执行这个脚本时才启动开发Web服务器,如:Python web.py。
编写网络应用程序
上面的Web应用只实现了单一文本的输出,这与“网络聊天机器人”应用相去甚远。
如果要开发“网络聊天机器人”,须在原有的Web应用程序的基础上解决两个问题:一是机器人对话能力的实现;二是网页上的输入与输出。
编写网络应用程序
第一个问题可以通过导入AIML模块来解决。AIML(Artificial Intelligence Markup
Language)即人工智能标记语言,本模块由理查·华莱士(Richard Wallace)发明。目前
AIML已经有了Java、Python、C、C#及Pascal等语言的版本,该模块的Python版本可以用来解决问题。
第二个问题可以通过在网页中使用提交表单来解决。表单收集用户的聊天语句,提交至Web服务器,然后由Web服务器中的aiml调用respond接口处理这些语句,最后将机器人的回复(即处理结果)发送至访问者的浏览器并输出。要在Flask Web应用程序中使用表单则必须导入fflask_wtf扩展的FlaskForm模块。同时为了使代码更加精简,可以使用网页模板,则必须导入Flask的render_template模块。
调试发布
一般情况下,程序在编写过程中难免会出现错误,需要进行调试、修正错误。错误一般包括两类:一类是相对简单的语法错误,在程序执行时Python会检查出相应的错误并给出修改建议;另一类是相对复杂的逻辑错误,需要编程人员仔细研究和分析。调试结束后,在确保应用能正确运行的情况下,才能将其发布至服务器,供用户使用。
1.调试模式
Flask Web框架提供了一个称为调试模式的功能,只要在开发配置或程序代码中设置debug=True就能打开调试功能。
2.应用发布
当Web应用程序通过调试并修改完善后,最后就是投入实际应用了,在开发环境中我们只需要通过如下命令就可以启动Web应用,以供他人访问使用。
但这是Flask Web框架自带的开发Web服务器,它仅供开发者调试使用,本身不够强健、安全和高效,同时也没有顾及实际应用中随着用户数量增加而产生的性能问题,因此不适合作为实际生产环境使用。在实际生产环境中常见的可靠的Web服务器有很多,如IIS、Apache、Nginx、Tomcat及WebLogic等,只需将自己编写的Web应用程序以WSGI应用或CGI形式发布至相应的Web服务器即可。
好好学习,天天向上