Django高级实战 开发企业级问答网站
项目结合:需求分析/Django高级用法/算法/设计模式/TestCase测试/云计算服务
从实际需求分析开始,实现当今主流知识问答应用的功能,包括动态、文章、问答、私信、消息通知、搜索、个人中心,打造企业级知识问答网站,由此完整学习Python后端开发技术栈。从零开发到阿里云上线,讲解企业项目开发的全过程。

〖课程目录〗:

  • 第1章 Django企业开发实战 (10篇教辅文档+5道大作业+全站源码提供) 试看1 节 | 21分钟
  • 本教程是专门为 求职/跳槽涨薪/优质毕设 量身打造的实战教程!课程不单项目是企业级的就连 开发流程,技术选型,都严格按照真实的企业开发流程。让你足不出户就能体验到真实的企业开发场景是什么样的。不再惶恐没有面试作品和工作经验,助力你斩获高薪offer!…
  • 收起列表
    • 视频:1-1 《Django高级实战-开发企业级问答网站》课程导学 (20:23)试看
  • 第2章 Django项目的一些最佳实践8 节 | 31分钟
  • 最佳实践目的是使生产或管理实践的结果达到最优,并减少出错的可能性。本章讲的一些实践方法在后面都会用到,算是项目知识铺垫。每小节都会举例和大家说明。
  • 收起列表
    • 视频:2-1 Pipenv管理项目环境(附文档) (08:09)
    • 图文:2-2 Pipenv管理Python虚拟环境
    • 视频:2-3 优先使用自定义的用户模型 (04:58)
    • 视频:2-4 使用通用类视图(GCBV) (05:37)
    • 视频:2-5 在系统环境变量中保存敏感信息 (04:52)
    • 视频:2-6 为不同环境分别配置settings.py文件 (02:00)
    • 视频:2-7 一定要编写测试用例 (05:13)
    • 作业:2-8 Python 项目开发有哪些最佳实践
  • 第3章 项目需求分析,功能设计和技术选型 试看4 节 | 28分钟
  • 本章将从用户的角度,分析需要实现哪些功能,学习需求分析,Markdown写项目需求文档,贴近“高内聚,低耦合”原则,模块化设计网站功能。前后端的技术选型,规划各个软件的版本。
  • 收起列表
    • 视频:3-1 项目需求分析(附文档) (12:51)
    • 图文:3-2 赞乎产品需求规格说明书
    • 视频:3-3 模块化设计网站功能 (06:00)试看
    • 视频:3-4 确定开发技术栈 (08:43)
  • 第4章 Cookiecutter火速搭建项目+开发环境介绍5 节 | 44分钟
  • 介绍神器Cookiecutter,它的优点和局限,按照确定的技术栈选择cookiecutter-django搭建具有高完成度的项目,学习Python项目如何组织代码,如何管理配置,如何管理依赖。项目开发环境介绍:Pycharm连接CentOS 7远程开发设置,以及MySQL用户权限管理和安全设置。 …
  • 收起列表
    • 视频:4-1 Cookiecutter安装和使用(附文档) (06:14)
    • 图文:4-2 使用Cookiecutter快速搭建Django应用
    • 视频:4-3 cookiecutter-django火速搭建项目 (01:11)
    • 视频:4-4 项目开发环境介绍(服务器环境和Pycharm远程开发设置) (15:09)
    • 视频:4-5 删改部分文件完成项目初始模板 (20:55)
  • 第5章 django-allauth同时实现本地和第三方认证 试看7 节 | 74分钟
  • 继承AbstractUser自定义用户模型类,引入django-allauth认证系统,同时完成本地账户功能和集成第三方账户登录注册,再回头讲解OAuth 2.0协议的原理。学习使用TestCase为Django模型类、网址、视图编写测试用例。
  • 收起列表
    • 视频:5-1 用户模块数据库设计 (11:02)
    • 视频:5-2 django-allauth的介绍和使用 (05:26)
    • 视频:5-3 用户登录-注册-注销-找回密码 (07:50)
    • 视频:5-4 GitHub为例集成第三方账号注册和登录 (06:18)
    • 视频:5-5 理解OAuth 2.0协议的原理 (11:14)
    • 视频:5-6 完成用户个人中心开发 (12:00)
    • 视频:5-7 为模型类-网址-视图编写测试用例 (19:11)试看
  • 第6章 首页功能- ListView/DeleteView完成动态功能-源码和MRO算法14 节 | 153分钟
  • 本章在实现需求的同时,穿插讲解Django的高级知识,如ORM中多对多外键。先使用通用类视图ListView/DeleteView开发功能,再讲解框架的源码,然后是Python语言中多继承的MRO算法,按业务→框架→源码→Python底层算法顺序由浅入深讲解。 …
  • 收起列表
    • 视频:6-1 动态功能models.py设计 (13:14)
    • 视频:6-2 完成动态列表页开发 (18:24)
    • 视频:6-3 通用类视图ListView源码详解 (09:17)
    • 视频:6-4 理解Python中的多继承-MRO (14:43)
    • 视频:6-5 新式类的MRO算法-C3线性化算法 (27:09)
    • 视频:6-6 用户发表动态 (08:36)
    • 视频:6-7 用户删除动态 (09:32)
    • 视频:6-8 通用类视图DeleteView源码详解 (08:05)
    • 图文:6-9 Django通用类视图源码详解
    • 视频:6-10 用户给动态点赞 (06:28)
    • 视频:6-11 用户评论动态 (07:44)
    • 视频:6-12 模型类的测试用例test_models.py (07:56)
    • 视频:6-13 视图的测试用例test_views.py (15:16)
    • 视频:6-14 本章总结与课后作业 (06:16)
  • 第7章 [文章]GCBV使用和自定义QuerySet,DTL语法精讲16 节 | 121分钟
  • 本章首先讲解问答类业务中最常见的两个功能需求:详情页的slug和标签管理。依据软件开发中DRY原则,在模型类中自定义查询集QuerySet,模仿主流问答类网站,实现文章的Markdown编辑与实时预览效果,实现功能之后再剖析CreateView/UpdateView源码。 …
  • 收起列表
    • 视频:7-1 文章模块models.py设计 (06:26)
    • 视频:7-2 使用python-slugify和django-taggit (04:29)
    • 视频:7-3 models.py中自定义QuerySet (05:25)
    • 视频:7-4 完成文章列表页开发 (06:01)
    • 视频:7-5 用户发表文章与保存草稿 (09:38)
    • 视频:7-6 实现Markdown编辑与实时预览 (09:14)
    • 视频:7-7 通用类视图CreateView源码详解 (26:59)
    • 视频:7-8 用户浏览文章内容 (02:20)
    • 视频:7-9 django-contrib-comments实现评论文章 (05:41)
    • 视频:7-10 用户编辑文章 (03:45)
    • 视频:7-11 通用类视图UpdateView源码详解 (01:37)
    • 视频:7-12 Django Template Language语法精讲 (22:18)
    • 图文:7-13 Django Template Language语法精讲
    • 视频:7-14 模型类和视图的测试用例 (08:34)
    • 视频:7-15 本章总结与课后作业. (07:34)
    • 作业:7-16 【讨论题】怎么才能写出靠谱的 RESTful API 接口?
  • 第8章 GenericRelation关联模型类与RequestFactory类测试视图19 节 | 165分钟
  • 实现问答功能:本章为赞乎产品的核心功能,业务逻辑颇为复杂,首先将梳理“用户-问题-回答-点赞/踩-采纳”之间的关系,然后介绍Django中的ContentType,使用更高级外键GenericForeignKey与GenericRelation来解决问题。在测试用例中,我们将改用更加符合企业实践的方式—RequestFactory类直接测试视图。 …
  • 收起列表
    • 视频:8-1 “用户-问 -回答-点赞或踩-采纳”逻辑关系梳理 (05:01)
    • 视频:8-2 Question模型类及自定义QuerySet (05:24)
    • 视频:8-3 Answer模型类 (03:42)
    • 视频:8-4 Django中的contenttypes框架 (07:52)
    • 视频:8-5 什么是GenericRelation和GenericForeignKey (08:34)
    • 视频:8-6 一张表搞定用户点赞-踩关联关系 (08:16)
    • 视频:8-7 定义问答模型类的方法-使代码更易扩展 (08:42)
    • 视频:8-8 ListView开发所有问题页 (05:22)
    • 视频:8-9 已回答和待回答问题页 (05:14)
    • 视频:8-10 用户提问-视图及表单开发 (07:31)
    • 视频:8-11 问题详情页前后端开发 (05:28)
    • 视频:8-12 回答问题-CreateView的fields属性 (06:45)
    • 视频:8-13 用户点赞或踩的场景分析 (03:03)
    • 视频:8-14 给问题或回答点赞踩 (13:35)
    • 视频:8-15 提问者接受答案-用户验证或PermissionDenied (03:43)
    • 视频:8-16 模型类的测试用例 (11:23)
    • 视频:8-17 RequestFactory类直接测试视图(上) (21:01)
    • 视频:8-18 RequestFactory类直接测试视图(下) (22:09)
    • 视频:8-19 知识拓展与课后作业 (11:39)
  • 第9章 [私信]消息查询集设计,发送和接收处理16 节 | 157分钟
  • 私信功能包括私信记录、在线回复、私信提示,难点在于后端消息的实时推送,本章先讲解消息模型类与查询集的设计,实现用户发送消息与接收消息处理,然后是WebSocket原理,再介绍Django Channels,什么是consumer,routing,Django应用中如何实现WebSocket认证。 …
  • 收起列表
    • 视频:9-1 消息模型类与查询集 (09:34)
    • 视频:9-2 私信列表页前后端开发 (06:17)
    • 视频:9-3 用户发送与接收消息处理 (05:26)
    • 视频:9-4 WebSocket协议的概念和原理 (10:47)
    • 视频:9-5 WebSocket协议的优缺点及应用场景 (05:43)
    • 视频:9-6 Django中如何实现WebSocket编程 (04:45)
    • 视频:9-7 Django Channels的原理 (09:20)
    • 视频:9-8 WSGI和ASGI的区别 (06:33)
    • 视频:9-9 Channel Layers的配置和使用 (06:44)
    • 视频:9-10 理解Consumers的基本用法 (10:05)
    • 视频:9-11 Generic Consumers同步与异步通信 (11:03)
    • 视频:9-12 Channels的路由Routing开发 (12:10)
    • 视频:9-13 用户实时接收私信后端设计 (09:21)
    • 视频:9-14 前端WebSocket API讲解 (22:03)
    • 视频:9-15 用户中心信息统计 (14:22)
    • 视频:9-16 本章回顾与总结 (11:48)
  • 第10章 [通知功能]处理器的实现-channels实战WebSocket编程15 节 | 121分钟
  • 本章是项目的重难点,将着重讲,内容包括通知功能的业务场景分析,通知处理器设计与实现,进一步实战实战WebSocket编程,什么是ASGI服务器,以及ASGI请求的通道服务(Redis) ,如何继承AsyncWebSocketConsumer类实现用户异步连接、断开、接收通知。 …
  • 收起列表
    • 视频:10-1 消息通知的业务场景分析 (07:00)
    • 视频:10-2 GenericForeignKey让模型类可复用 (10:10)
    • 视频:10-3 Django serializers序列化查询集 (05:32)
    • 视频:10-4 未读通知列表页前后端开发 (08:03)
    • 视频:10-5 标记所有或单条通知为已读 (07:51)
    • 视频:10-6 WebSocket消息接收和处理 (05:14)
    • 视频:10-7 通知处理器设计与实现 (12:20)
    • 视频:10-8 JS中进一步实战WebSocket API编程 (22:35)
    • 视频:10-9 首页有新动态时冒泡提示 (04:20)
    • 视频:10-10 动态被点赞或评论时推送通知 (08:04)
    • 视频:10-11 WebSocket触发Ajax请求-自动更新点赞数和评论数 (05:53)
    • 视频:10-12 一个隐藏的bug, github也有? (06:50)
    • 视频:10-13 结合django-comments信号机制实现文章评论的通知 (06:16)
    • 视频:10-14 回答被采纳时WebSocket消息通知 (03:00)
    • 视频:10-15 排错思路讲解与课后作业 (07:39)
  • 第11章 django-haystack+elasticsearch实现全站搜索5 节 | 43分钟
  • 本章将学习使用django-haystack + elasticsearch实现全站搜索,可以同时搜索文章、动态、问答、用户、标签。包括Elasticsearch搜索引擎安装和配置,haystack通过型号量机制实时生成索引,以及搜索结果分类处理。
  • 收起列表
    • 视频:11-1 全站搜索的实现思路 (08:40)
    • 视频:11-2 Elasticsearch介绍和安装 (08:39)
    • 视频:11-3 django-haystack elasticsearch-py elasticsearch-dsl-py比较 (02:45)
    • 视频:11-4 配置Haystack Elasticsearch和创建索引类 (14:18)
    • 视频:11-5 完成searh search.html前端开发 (07:58)
  • 第12章 网站优化与Django Channels应用部署16 节 | 175分钟
  • 本章将先讲解Django项目优化的知识,包括功能优化,缓存优化,SQL优化等,然后是Python应用的部署原理,各种WSGI/ASGI协议,Nginx反向代理的作用,然后精讲两大类4种Django应用的部署方式,包括部署的配置文件、配置项、日志内容的含义,如何排错。…
  • 收起列表
    • 视频:12-1 善用django-debug-toolbar 解锁新技能 (12:44)
    • 视频:12-2 BUG修复和功能优化 (11:24)
    • 视频:12-3 使用django-compressor压缩静态文件 (04:50)
    • 视频:12-4 Celery异步发送邮件 (17:17)
    • 视频:12-5 Django缓存优化之Redis缓存 (20:03)
    • 视频:12-6 ORM语句和SQL优化(上) (15:23)
    • 视频:12-7 ORM语句和SQL优化(下) (15:12)
    • 视频:12-8 Python应用部署的原理 (05:54)
    • 视频:12-9 Nginx Tornado部署Django应用 (17:03)
    • 图文:12-10 Nginx+Tornado部署Django应用
    • 视频:12-11 Apache mod_wsgi部署Django应用 (20:34)
    • 图文:12-12 Apache+mod_wsgi部署Django应用
    • 视频:12-13 Nginx Gunicorn Daphne部署Django Channels应用 (22:58)
    • 图文:12-14 Nginx+uWSGI+Daphne部署Django Channels应用
    • 视频:12-15 Nginx uWSGI Daphne Supervisor Django生产环境部署 (11:26)
    • 图文:12-16 Nginx+Gunicorn+Daphne部署Django Channels应用
  • 第13章 阿里云ECS+RDS上线项目6 节 | 33分钟
  • 云计算成为主流趋势,熟悉使用云产品成为企业招聘需求,本章将讲解如何使用阿里云ECS+RDS上线项目,包括选择合适的ECS,做初始化配置、安全配置等;RDS实例创建,账号及数据库管理,ECS连接RDS。需要同学们动手申请云账号,项目上线成功后可以公网访问,互相监督促进。 …
  • 收起列表
    • 视频:13-1 什么是云计算 (03:48)
    • 视频:13-2 云服务器ECS配置 (08:16)
    • 视频:13-3 云数据库RDS MySQL配置 (05:33)
    • 视频:13-4 ECS RDS_MySQL上线项目 (12:34)
    • 图文:13-5 ECS+RDS MySQL上线项目
    • 视频:13-6 作业:CDN OSS网站与应用加速 (02:45)
  • 第14章 课程回顾与总结3 节 | 9分钟
  • 回顾整个课程,梳理开发过程,复习课程中的重难点知识。总结经验,提出项目中可以进一步完善的功能,如使用Django缓存优化,并给出实现思路,让同学们主动思考,探索。
  • 收起列表
    • 视频:14-1 Django开发企业级问答网站-课程回顾与总结 (08:38)
    • 作业:14-2 996 累成狗,到底值不值?
    • 作业:14-3 只会Python开发好找工作吗?

〖视频截图〗:

Django高级实战 开发企业级问答网站
Django高级实战 开发企业级问答网站
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。