《Python Web 开发从入门到实践(FastAPI+Bootstrap)》教案_第1页
《Python Web 开发从入门到实践(FastAPI+Bootstrap)》教案_第2页
《Python Web 开发从入门到实践(FastAPI+Bootstrap)》教案_第3页
《Python Web 开发从入门到实践(FastAPI+Bootstrap)》教案_第4页
《Python Web 开发从入门到实践(FastAPI+Bootstrap)》教案_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

课程教案课程名称PythonWeb开发从入门到实践课程代码001002主讲教师钱彬教师职称副研究员教学单位南京理工大学2026年8月10日课程教案课程简介课程名称PythonWeb开发从入门到实践总学分:2学分总学时:24学时其中:讲课16学时实践8学时课程类别必修课()选修课(√)公共课()学科课(√)专业课()实践课()全校任选课()授课对象计算机科学与技术、软件工程等相关专业考核方式考核方式:考查(大作业/项目答辩)成绩评定:平时成绩(考勤、实验)占总成绩的40%;期末大作业(完整Web项目及部署)占总成绩的60%。教学目的和要求教学目的:本课程以构建企业级门户网站为载体,系统讲解基于Python语言的现代化Web开发技术栈。课程围绕高性能异步框架FastAPI与前端框架Bootstrap5展开,涵盖数据库建模(SQLModel)、后台管理(SQLAdmin)、用户认证(JWT)、异步任务处理以及AI应用集成(OpenCV/LLM)。旨在培养学生具备独立进行Web全栈开发、系统架构设计及生产环境部署的工程实践能力。教学要求:1、掌握PythonWeb开发环境搭建及FastAPI框架的核心运行机制;2、熟练运用SQLModel进行数据库ORM建模及Alembic版本控制;3、掌握前后端分离架构下的模板渲染、静态资源管理及RESTfulAPI设计;4、具备集成第三方服务(如AI模型、办公自动化)及云服务器部署的实战能力。教学重点和难点教学重点:FastAPI依赖注入系统、异步编程模式(Async/Await)、SQLModel数据库交互、Jinja2模板与Bootstrap前端整合、JWT用户认证体系、Nginx反向代理部署。教学难点:异步非阻塞I/O的理解与应用、复杂数据库关系(一对多)的处理、用户鉴权与路由保护机制、生产环境下的安全配置(HTTPS/SSL)。教材、参考书《PythonWeb开发从入门到实践(FastAPI+Bootstrap)-微课视频版》,钱彬、沈肖波著,清华大学出版社。注:此页针对课程整体内容进行填写课程教案第1学时—第4学时教学内容第一部分基础篇(第1-2章)

一、开发环境搭建

(一)Python解释器安装与虚拟环境配置

(二)FastAPI与Uvicorn安装

(三)VSCode开发工具配置

(四)第一个FastAPI应用(HelloWorld)与API文档体验

二、基础语法回顾与前端基础

(一)Python核心语法(装饰器、类型提示)

(二)HTML5、CSS3与JavaScript基础

(三)Bootstrap5栅格系统与组件

(四)实战项目:在线Web计算器教学目的要求1.掌握PythonWeb开发环境的标准化搭建流程;2.理解FastAPI的基本路由机制;3.掌握前端基础技术及Bootstrap框架的使用,能够实现简单的前后端交互。教学重点难点重点:虚拟环境管理,FastAPI路由定义,Bootstrap响应式布局。难点:Python装饰器的原理与应用,前后端数据交互流程。教学设计采用PPT讲解核心概念,结合IDE现场演示环境搭建与代码编写,引导学生完成HelloWorld及计算器案例。课后延伸学生课后需在本地完成开发环境配置,并复现“在线Web计算器”项目,提交运行截图。备注(其他需补充说明的内容)课程教案第5学时—第8学时教学内容第二部分开发篇(第3-5章)

一、项目框架设计

(一)项目目录结构规范

(二)APIRouter模块化路由配置

(三)Jinja2模板引擎与静态资源挂载

二、数据库建模与后台管理集成

(一)SQLModelORM基础与模型定义

(二)Alembic数据库版本控制与迁移

(三)SQLAdmin后台管理系统集成与汉化

(四)开发“公司简介”模块:从数据库到前端渲染教学目的要求1.理解企业级Web项目的目录结构设计;2.掌握使用SQLModel进行数据库建模的方法;3.学会使用Alembic管理数据库变更;4.能够集成SQLAdmin实现可视化的后台数据管理。教学重点难点重点:模块化路由设计,ORM模型定义,Jinja2模板继承。难点:Alembic迁移脚本的生成与执行,SQLAdmin的自定义配置。教学设计通过代码演示项目骨架的搭建,重点讲解数据库迁移的工作流,展示从后台添加数据到前台显示的完整链路。课后延伸完成企业门户网站项目的基础框架搭建,实现公司简介模块的后台管理与前台展示。备注(其他需补充说明的内容)课程教案第9学时—第12学时教学内容第二部分开发篇(第6-7章)

一、开发“新闻动态”模块

(一)TinyMCE富文本编辑器集成

(二)富文本图片上传接口开发

(三)新闻列表分页逻辑实现

(四)新闻详情页渲染与图片自适应

二、开发“产品中心”模块

(一)“一对多”数据库关系建模(产品与类别)

(二)复杂查询逻辑(多维筛选、模糊搜索)

(三)Jinja2自定义过滤器(关键词高亮)教学目的要求1.掌握富文本内容的存储与展示处理;2.理解并实现数据库的一对多关系;3.掌握Web应用中常见的分页、搜索、筛选功能的后端逻辑与前端实现。教学重点难点重点:富文本编辑器集成,一对多关系建模,复杂SQL查询语句构建。难点:分页算法逻辑,搜索关键词高亮过滤器的实现。教学设计结合实际业务场景,演示富文本编辑器的配置与文件上传处理,对比讲解单表查询与关联查询的区别。课后延伸完善新闻与产品模块,实现带有分页、搜索和筛选功能的前端页面。备注(其他需补充说明的内容)课程教案第13学时—第16学时教学内容第二部分开发篇(第8-9章)

一、开发“人才招聘”模块与办公自动化

(一)表单提交与文件上传(Form与UploadFile)

(二)FastAPI后台任务(BackgroundTasks)

(三)OpenPyXL自动化生成Excel报表

二、开发“认证系统”模块

(一)用户模型与密码哈希(bcrypt)

(二)JWT令牌生成与解析

(三)依赖注入(DependencyInjection)实现路由保护

(四)后台登录/登出逻辑实现教学目的要求1.掌握文件上传的处理方法;2.理解异步后台任务的应用场景;3.掌握Web安全核心机制,包括密码加密存储、JWT认证流程及基于依赖注入的权限控制。教学重点难点重点:Form表单处理,JWT认证流程,FastAPI依赖注入系统。难点:后台任务的异步执行机制,JWT令牌的签发与校验逻辑,Cookie安全设置。教学设计重点演示后台任务在处理耗时操作(如Excel导出)中的优势,详细剖析JWT认证的全流程代码实现。课后延伸实现简历投递功能及自动归档,完成后台管理系统的登录认证保护。备注(其他需补充说明的内容)课程教案第17学时—第20学时教学内容第二部分开发篇(第10-11章)

一、开发“服务支持”模块(API与AI集成)

(一)API用户体系与Key管理

(二)接口速率限制与鉴权

(三)集成OpenCV实现二维码生成与解码服务

二、开发“首页”模块与性能优化

(一)数据聚合与展示

(二)服务端缓存(FastAPI-Cache)应用

(三)大语言模型(LLM)API集成实现智能客服教学目的要求1.了解对外API服务的设计规范与限流策略;2.掌握将AI算法(CV/LLM)集成到Web应用的方法;3.理解服务端缓存对提升Web性能的重要性。教学重点难点重点:API鉴权与限流,OpenCV库调用,大模型接口对接。难点:图像数据的二进制流处理,大模型提示词工程与上下文管理。教学设计展示如何将Python强大的AI生态(OpenCV)封装为Web服务,演示缓存对页面加载速度的提升效果。课后延伸完成在线二维码工具的开发,并集成智能客服功能。备注(其他需补充说明的内容)课程教案第21学时—第24学时教学内容第三部分部署篇(第12章)

一、Web部署架构与原理

(一)生产环境与开发环境的差异

(二)Nginx反向代理机制

二、云服务器部署实战

(一)WindowsServer环境初始化与依赖安装

(二)Nginx安装与反向代理配置

(三)域名解析与SSL证书申请

(四)HTTPS安全访问配置教学目的要求1.理解Web应用的生产环境部署架构;2.掌握Nginx反向代理服务器的配置方法;3.具备将本地项目迁移至云服务器并

温馨提示

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

最新文档

评论

0/150

提交评论