课程介绍
这是一套 Django 与 Vue 结合的 Python Web 全栈开发课程,从为什么学习 Python Web 开发、什么是 Web 框架讲起,完成开发环境与虚拟环境准备,理解 Django 的 MVT 模式,再系统学习三种路由匹配方式、函数视图与类视图、请求与响应对象,模板中的变量、标签、过滤器与继承,以及 ORM 模型的增删改查和 Django 后台配置。
实战部分先做两个 Django 项目:企业官网实现幻灯片、团队介绍、文章管理、新闻列表与详情,并接入富文本编辑器;学生成绩管理系统基于 Django5,用 ListView、CreateView、UpdateView、DeleteView 完成班级与学生管理,结合 SweetAlert2 和 fetch 提交表单,用 OpenPyXL 批量导入导出 Excel,并实现老师、成绩、登录、会话、修改密码和权限管理。
前后端分离部分以电影平台为主线:先用 DRF 的序列化器、APIView 与视图集开发接口,再用 Vue3、Tailwind CSS 和 axios 实现首页、分页、详情、搜索与分类筛选;用户模块基于 djoser 完成注册、邮件激活、登录、token 刷新、重置与修改密码及导航守卫,另有电影收藏、会员卡、支付宝沙箱支付与异步验签、订单管理,以及 Redis、Celery、Flower 异步与定时任务。最后在阿里云服务器上用宝塔面板、Nginx、Gunicorn 和 Supervisor 部署企业网站与前后端分离项目。
课程目录
第1章 Django 入门与环境准备
为什么要学习Python Web开发
django项目简介
什么是web框架
准备开发环境
虚拟环境下安装django
创建django项目
django的mvt模式
创建Django应用
第2章 路由与视图
路由匹配模式1:字符串精确模式
路由匹配模式2:路径转换器格式
路由匹配模式3:正则表达式
函数视图
函数视图实例:实现登录功能
基于类的视图
HttpRequest请求对象
获取6种不同形式的请求参数
HttpResponse响应对象
第3章 模板
模板引擎和配置
模板中的变量
模板循环和判断标签
模板过滤器
模板继承和包含
第4章 模型与 ORM
什么是 ORM
配置mysql数据库
创建模型
设置meta元数据
ORM新增数据
ORM查询数据
ORM查询条件
ORM多条件查询
ORM更新数据
ORM删除数据
第5章 Django 后台
注册后台模型
配置后台
设置函数
第6章 实战:开发企业官网
需求分析
创建项目和应用
配置数据库
渲染静态文件
创建幻灯片模型
幻灯片效果前端显示
团队介绍模块实现
文章管理模块实现
新闻列表页和详情页模块实现
使用富文本编辑器
首页显示新闻内容
设置新闻页样式
第7章 实战:学生成绩管理系统
项目简介
需求分析
虚拟环境中创建Django5项目
设置全局配置setting
创建Grade模型并配置后台
创建ListView列表页视图类
创建列表页模板页面
搜索和分页功能实现
使用 CreateView 与 UpdateView 新增和修改班级
使用模板标签实现表单校验
使用DeleteView实现删除班级
创建ListView列表页视图类
SweetAlert2弹出框的基本使用
fetch发送请求添加学生信息
验证并保存学生信息
Form类验证新增学生信息
form_invalid验证失败优化处理
form_valid处理提交表单
把学生信息写入到数据库
创建UpdateView视图类
创建编辑页面并对其验证
创建DeleteView删除学生信息
创建BulkDeleteView批量删除
使用OpenPyXL读取Excel
使用OpenPyXL写入Excel
SweetAlert2上传Excel文件
使用 OpenPyXL 处理上传的 Excel 信息
将上传Excel信息写入到数据库中
创建批量导出学生信息视图函数
从数据库中查询学生数据并导出到Excel
使用get_queryset实现搜索学生
自定义模板标签解决分页bug
老师管理功能实现
成绩管理功能实现
创建登录页面
提交登录请求并判断角色
把常用信息写入到session会话
使用logout实现退出登录功能
修改密码功能实现
视图类权限管理功能实现
视图函数权限管理功能实现
项目总结
第8章 Django REST Framework 入门
创建Django电影项目
创建电影应用
初识DRF
传统方式创建接口
使用ModelSerializer简化代码
APIView 视图扩展
postman接口测试工具的使用
基于类的视图1-使用APIView实现
基于类的视图2-通用视图
基于类的视图3-使用视图集
第9章 Vue3 前端与电影平台首页
安装前端框架Vue3
Vue执行流程
安装css框架tailwind
创建项目首页
解决跨域问题
发送axios请求
使用模板显示首页数据
实现分页请求数据功能
页面中添加分页按钮
实现上一页下一页按钮跳转功能
分页按钮实现跳转功能
电影详情页实现
搜索功能接口实现
实现搜索后页面
实现顶部导航栏分类功能
分类下地区查询功能实现
第10章 用户模块:注册、登录与密码管理
用户模块djoser介绍
用户注册接口实现
用户注册邮箱配置
实现邮箱验证唯一的功能
用户注册信息验证
用户注册信息验证2
发送注册用户请求
通过邮件激活用户功能
用户登录接口实现
登录页面实现
判断用户登录状态
刷新token实现自动登录
退出用户登录功能
重置密码接口实现
发送重置邮件的功能
通过邮件重置密码
修改密码接口实现
修改密码页面实现
导航守卫判断个人中心页面是否登录
导航守卫判断登录注册页面
djoser本地化语言配置
第11章 电影收藏与接口优化
user表关联profile表
movie收藏表之间的模型关系
收藏电影接口实现
取消收藏和收藏列表接口实现
判断是否收藏电影接口实现
判断收藏状态页面实现
添加收藏和取消收藏页面实现
电影收藏列表页面实现
电影分类接口权限设置
用户收藏接口权限设置
优化代码-统一管理错误信息
优化代码-统一设置headers
第12章 会员卡与支付宝支付
创建交易应用并判断是否展示会员内容
获取当前用户状态查看会员内容
会员卡接口实现
会员卡页面实现
支付宝沙箱环境配置
支付宝支付流程
支付宝支付示例功能实现
支付宝支付接口实现
支付宝支付交易方法实现
支付宝创建订单实现
支付宝支付页面实现
内网穿透工具使用
支付宝异步验签1.配置回调信息并获取异步验签参数
支付宝异步验签2.rsa验签
支付宝异步验签3.验证返回参数
验签成功更改订单状态
使用事务保持数据一致性
我的订单接口实现
我的订单页面实现
根据订单号进行查询我的订单
完成未支付订单接口和页面实现
第13章 Celery 异步与定时任务
异步和定时任务简介
redis的安装和配置
celery的安装和基本使用
flower的安装和基本使用
celery执行异步任务
celery-beat执行定时任务
更新订单状态
第14章 项目部署
项目部署简介
购买阿里云服务器
安装和配置宝塔面板
安装并配置mysql
上传代码到服务器方式1-FTP上传
上传代码到服务器方式2-git上传代码到服务器
创建python项目添加包依赖
创建虚拟环境并启动服务
nginx基本使用
企业网站配置nginx
配置gunicorn多进程提升性能
配置supervisor监控进程
上传代码到服务器
配置项目前端启动服务
配置项目后端启动服务
配置网站项目支付功能
配置 Celery 和 Flower
配置 Gunicorn 和 Supervisor