《Python Web开发项目教程》教学设计 第2章 路由-教学设计_第1页
《Python Web开发项目教程》教学设计 第2章 路由-教学设计_第2页
《Python Web开发项目教程》教学设计 第2章 路由-教学设计_第3页
《Python Web开发项目教程》教学设计 第2章 路由-教学设计_第4页
《Python Web开发项目教程》教学设计 第2章 路由-教学设计_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

博学谷——让IT教学更简单,让IT学习更有效PAGE12PAGE7《PythonWeb开发项目教程》教学设计课程名称:___________________授课年级:___________________授课学期:___________________教师姓名:___________________年月课题名称第2章路由计划课时4课时教学引入在Web应用中,用户通过URL访问不同功能页面的过程,离不开路由系统的精准调度。作为Flask框架的核心组件,路由承祖着URL与视图函数之间的映射重任,是连接用户请求与后端逻辑的“桥梁”。本章将针对注册路由、URL传递参数、处理请求等相关内容进行介绍。教学目标使学生掌握注册路由的方式,能够通过route()和add_url_rule()方法注册路由使学生掌握URL传递参数的方式,能够通过URL规则向视图函数传递参数使学生掌握转换器的用法,能够根据业务需求灵活应用内置转换器或自定义转换器使学生掌握指定请求方式的方法,能够在注册路由时指定请求方式使学生掌握请求钩子的使用方法,能够在程序中灵活运用请求钩子使学生了解上下文的相关内容,能够通过上下文处理程序中的请求使学生了解响应报文,能够表述响应报文的组成部分及其作用使学生掌握响应的创建方式,能够灵活通过make_response()函数生成响应使学生掌握URL反向解析的方式,能够通过url_for()获取反向解析的URL使学生掌握页面重定向的方式,能够通过redirect()对页面进行重定向教学重点注册路由URL传递参数的方式为参数指定转换器指定请求方式请求钩子生成响应URL反向解析页面重定向教学难点请求钩子上下文URL反向解析教学方式课堂教学以PPT讲授为主,并结合多媒体进行教学教学过程第一课时(注册路由、URL传递参数的方式、为参数指定转换器、指定请求方式)复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。创设情境,导入新课同学们,Web应用中用户通过URL访问不同功能页面的背后,离不开路由系统的精准调度。想让不同URL对应不同功能、让URL能传递动态数据、限制请求方式保障安全,还能统一处理身份验证等通用逻辑?今天我们就聚焦Flask路由核心技术,学习注册路由的两种方式、URL传递参数的技巧、用转换器规范参数格式、指定请求方式的方法,以及通过请求钩子抽离通用逻辑,一步步搭建起请求与后端逻辑的“桥梁”。三、新课讲解知识点1-注册路由教师通过PPT的方式讲解注册路由。(1)注册路由的概念Flask程序内部维护了一个完整的路由映射表,这个表里面记录了所有已经定义的URL规则,通过内部机制将不同的URL规则与对应的视图函数关联起来。这个建立URL与处理逻辑之间映射关系的过程,就称为注册路由。(2)Flask注册路由的方式eq\o\ac(○,1)通过route()方法注册路由route()方法的用法比较特殊,需要以装饰器的形式写在视图函数的上方。eq\o\ac(○,2)通过add_url_rule()方法注册路由route()方法内部其实调用了add_url_rule()方法,我们可以把route()当作add_url_rule()方法的快捷方法,route()方法的用法更简洁,无需传入与URL规则关联的视图函数名。知识点2-URL传递参数的方式教师通过PPT的方式讲解URL传递参数的方式。当调用route()或add_url_rule()方法注册路由时,可以在URL规则字符串中加入尖括号包裹的变量,之后将该变量作为参数传递给视图函数。知识点3-为参数指定转换器教师通过PPT的方式讲解为参数指定转换器。(1)为参数指定转换器的格式(2)内置转换器string:默认转换器,匹配除"/"以外的任意字符,返回值始终是字符串类型的数数据。any:严格匹配预先定义选项的其中一个。int:仅匹配0或正整数,不支持负整数,整数的范围会受到系统整型的限制。float:匹配整数或浮点数,自动将其转换为Python浮点数类型的数据。path:匹配包含斜杠"/"的任意字符,返回值始终是字符串类型的数据,常用于匹配文件路径。uuid:严格匹配RFC4122标准的UUID格式字符串,返回值为uuid.UUID对象。(3)内置转换器的使用示例(4)自定义转换器自定义转换器需要继承werkzeug.routing模块中的BaseConverter类。BaseConverter类中包含以下一些属性和方法。regex属性:设置用于匹配URL参数的正则表达式。to_python()方法:用于将从URL中匹配到的字符串转换为视图函数所需的数据类型。to_url()方法:在使用url_fop生成URL时,将Python对象转换为符合规则的字符串。(5)添加自定义转换器的格式(6)自定义转换器的使用示例知识点4-指定请求方式教师通过PPT的方式讲解指定请求方式。(1)HTTP规范中定义的请求方法GET:用于从服务器请求资源POST:用于向服务器提交表单或上传文件,表单数据或文件数据会包含在请求体中HEAD:类似GET,但服务器返回的响应中没有具体内容,仅包含响应头部PUT:用于用客户端传送的数据取代服务器上指定文档的内容DELETE:用于请求服务器删除指定的资源OPTIONS:允许客户端查看服务器支持的各项功能PATCH:PUT的补充,用于对已知资源进行局部更新(2)演示在路由中显式指定请求方法(3)指定请求方式的快捷函数get():注册一个仅支持GET请求的路由,等价于route(methods=[GET))。post():注册一个仅支持POST请求的路由,等价于route(methods=[POST))。put():注册一个仅支持PUT请求的路由,等价于route(methods=[PUT))。delete():注册一个仅支持DELETE请求的路由,等价于route(methods=[DELETE))。patch():注册一个仅支持PATCH请求的路由,等价于route(methods=[PATCH)。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。第二课时(请求钩子、上下文、响应报文)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、创设情境,导入新课同学们,上节课我们掌握了路由注册、参数传递等基础技能,但实际开发中还会遇到通用逻辑复用、请求数据安全访问、响应规范返回等问题。比如所有请求前都要验证用户身份,如何避免重复编码?如何安全获取请求信息和应用配置?服务器返回的响应又包含哪些关键部分?今天我们就聚焦这些核心问题,学习通过请求钩子抽离通用逻辑、借助上下文安全管理请求与应用信息、了解响应报文的组成与作用,让Flask程序的请求处理更高效、响应更规范。三、新课讲解知识点1-请求勾子教师通过PPT的方式讲解请求勾子。before_request:注册一个函数,在视图函数正常执行并生成响应后、响应发送给浏览器自动调用。after_request:注册一个函数,在视图函数正常执行并生成响应后、响应发送给浏览器前自动调用。teardown_request:注册一个函数,在每次请求处理完全后自动调用,无论请求过程中是否发生异常。after_this_request:视图函数内注册一个函数,仅对当前请求生效。知识点2-上下文教师通过PPT的方式讲解上下文。(1)请求上下文eq\o\ac(○,1)request对象request对象的作用request对象的常用属性和方法request对象的使用示例eq\o\ac(○,2)session对象session对象的作用session对象的常用的方法session对象的使用示例(3)注意事项session对象通过密钥实现对数据的加密,在Flask程序中需要通过Flask程序实例的secret_key属性或配置项SECRET_KEY设置一个密钥。(4)应用上下文eq\o\ac(○,1)current_app对象:表示当前激活的Flask应用程序实例。eq\o\ac(○,2)g对象:表示程序的一个全局临时变量。知识点3-响应报文教师通过PPT的方式讲解响应报文(1)响应报文的组成状态行响应报头空行响应体(2)状态行的组成协议版本:表示网站服务器使用的传输协议以及版本。状态码:表示响应内容的状态。原因短语:对状态码的简单说明。(3)状态码的取值100~199200~299300~399400~499500~599(4)响应报头的概念响应报头用于为客户端提供一些额外的信息,通过这些额外的信息可以告知客户端更多的响应信息,包括服务器的名称和版本、响应体的类型等信息。响应报头由多个字段与值组成,字段与值之间以冒号进行分隔。(5)响应报头的常见字段。AgeServerContent-TypeContent-EncodingContent-Length四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。第三课时(生成响应、URL页面解析、页面重定向)一、复习巩固教师通过上节课作业的完成情况,对学生吸收不好的知识点进行再次巩固讲解。二、创设情境,导入新课同学们,前两节课我们学习了路由注册、参数传递和请求处理,现在该关注请求后的响应环节啦!如何让服务器返回规范的响应数据,包括自定义状态码和响应格式?硬编码URL容易维护出错,怎样动态生成URL确保灵活性?用户未登录时如何自动跳转到登录页面?今天我们就聚焦这三个核心问题,学习用make_response()函数生成定制化响应、通过url_for()实现URL反向解析、借助redirect()完成页面重定向,让Flask程序的交互更流畅、维护更便捷。三、新课讲解知识点1-生成响应教师通过PPT的方式讲解生成响应。(1)生成响应的方式Flask中Response类表示响应,它封装了响应报文的相关信息。通过Response类的构造方法或make_response()函数主动生成响应。(2)Response类的构造方法(3)生成响应的示例(4)make_response()函数的使用(5)使用make_response()函数生成响应。(6)jsonify()函数的作用(7)jsonify()函数教师以jsonify()函数为例演示将响应内容序列化为JSON格式。知识点2-URL反向解析教师通过PPT的方式讲解URL反向解析。(1)URL反向解析的应用场景以硬编码的方式在程序中使用URL,具有较高的耦合度,通过URL反向解析可降低耦合度。(2)URL反向解析函数的语法格式(3)url_for()函数的使用教师以url_for()函数为例演示对URL反向解析。知识点3-页面重定向教师通过PPT的方式讲解页面重定向。(1)页面重定向的应用场景当用户在电商网站购买商品时,电商网站若检测到用户还未曾登录,则会将当前页面重定向到登录页面。(2)重定向函数的语法格式(3)redirect()函数的使用教师以redirect()函数为例演示页面重定向。四、归纳总结教师回顾本节课所讲的内容,并通过测试题的方式引导学生解答问题并给予指导。五、布置作业教师通过高校教辅平台()布置本节课作业以及下节课的预习作业。第四课时(上机练习)

上机练习主要针对本章中需要重点掌握的知识点,以及在程序中容易出错的内容进行练习,通过上机练习可以考察同学对知识点的掌握情况,对代码的熟练程度。上机一:(考察知识点为:注册路由、URL传递参数的方式、为参数指定转换器、指定请求方式)形式:单独完成1.实验目的(1)掌握注册路由的使用。(2)掌握URL传递参数的方式。(3)掌握为参数指定转换器。(4)掌握创建项目并编写HelloFlask程序。(5)掌握指定请求方式。2.实验工具(1)实验设备:已接入网络的计算机。(2)操作系统:Windows7/8/10。3.实验内容(1)根据2.1小节内容,练习注册路由的使用。(2)根据2.2.1小节内容,练习URL传递参数的方式。(3)根据2.2.2小节内容,练习为参数指定转换器。(4)根据2.3.1小节内容,练习指定请求方式。4.总结对实验进行总结,记录实验过程中遇到的问题以及解决办法。上机二:(考察知识点为:请求勾子、上下文、生成响应、URL反向解析、页面重定向)形式:单独完成1.实验目的(1)掌

温馨提示

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

评论

0/150

提交评论