该课程侧重于构建聊天服务器管理 API 并将其与前端模板框架集成。它还涵盖 API 集成和构建具有身份验证等功能的聊天服务。
第一个模块涵盖源代码控制和项目启动,包括创建新的 Django DRF 项目和配置环境变量。它还教授配置 Visual Studio Code 以进行 linting 和格式化。由云创源码loowp.com编辑分享。
第二个模块侧重于构建聊天服务器管理 API。它包括生成名称、设计聊天服务器以及创建必要的模型和数据库表。它还包括配置 API 文档和创建用于过滤服务器和返回相关数据的 API 端点。
第三个模块介绍了使用 React 进行前端模板化。它涵盖了创建一个新的 React 项目、路由、集成 Material-UI 以及构建应用栏、主要绘制和主要组件等组件。
第四个模块介绍了使用 Axios 的 API 集成。它教授如何发出 API 请求、配置跨源资源共享 (CORS) 以及创建 CRUD 挂钩。它还包括用于探索流行服务器和类别的构建组件。
第五个模块侧重于使用 Django Channels 构建聊天服务。它包括安装和配置 Channels、实现 Web 套接字以及创建聊天室功能。它还包括为服务器页面制作模板和实现消息历史记录。
第六个模块介绍使用 djangorestframework-simplejwt 库进行身份验证。它涵盖了基于令牌的身份验证、创建登录和注册表单、保护 API 端点以及实施 WebSocket 身份验证。
最后一个模块通过附加功能扩展了聊天服务。
该课程提供了一个全面的指南,用于构建具有聊天服务器管理功能的 Django DRF 项目、与前端框架 React 集成以及实现身份验证和聊天功能等基本功能。
Published 6/2023
MP4 | Video: h264, 1280×720 | Audio: AAC, 44.1 KHz
Language: English | Size: 15.55 GB | Duration: 28h 17m
视频预览
你将会学到的
- 使用 Django REST Framework (DRF) 使用 RESTful API 开发 Django 项目,并有效地管理项目源代码控制。
- 构建具有服务器过滤、频道管理和相关数据检索等功能的强大聊天服务器管理 API。
- 使用 React、React Router 和 Material-UI 创建视觉上吸引人的前端界面,以获得无缝的用户体验。
- 使用 Axios 将外部 API 集成到 Django 项目中,处理 CORS,并实现 CRUD 操作以实现高效的数据处理。
- 使用 djangorestframework-simplejwt 实现安全身份验证机制,包括基于令牌的登录、注册和 WebSocket 身份验证。
此课程面向哪些人:
- React 和 Django 框架的初学者、开发人员、学生和爱好者
- 希望复习 React、Django、DRF 和 Django Channels 知识的开发人员、学生和爱好者
课程目录
Section 1: Introduction
Lecture 1 Introduction
Lecture 2 Build Technical Preview
Section 2: Setup Guides
Lecture 3[Windows] Installing Python
Lecture 4[Windows] Visual Studio Code Induction
Lecture 5[Windows] Creating Virtual Environments
Lecture 6[macOS] Visual Studio Code Induction
Lecture 7[macOS] Installing Python
Lecture 8[macOS] Creating Virtual Environments
Section 3: Django DRF Project Initiation
Lecture 9 Source Control: Initiating Project Source Control
Lecture 10 Build: Create a New Django DRF Project
Lecture 11 Build: Configuring Environment Variables for your Project
Lecture 12 Linting and Formatting: Configuring Visual Studio Code for Black Formatting
Lecture 13 Linting and Formatting: Configuring Visual Studio Code for Flake8 Liniting
Lecture 14 Source Control: Create your first commit in a Git repository
Section 4: Chat Server Administration API
Lecture 15 Build: Initiate Chat Server Administration App
Lecture 16 Build: Creating a Django Custom User Model (AbstractUser)
Lecture 17 Build: Chat Server Administration Models (Database Tables and Fields)
Lecture 18 API Documentation: Configuring DRF-Spectacular with Swagger UI: Installation and
Lecture 19 Build: Configuring Default Authentication Classes in Django DRF
Lecture 20 Build: Creating an API Endpoint for Filtering Servers by category
Lecture 21 Build: Creating an API Endpoint for Filtering Servers by User
Lecture 22 Build: Creating an API Endpoint for Filtering Servers by Quantity
Lecture 23 Build: Creating an API Endpoint for Filtering Servers by Server ID
Lecture 24 Build: Returning Related Data – Server Associated Channels
Lecture 25 Build: Creating an API Endpoint for Filtering Servers and Returning Annotation o
Lecture 26 ChatGPT: Creating Code Comments with ChatGPT
Lecture 27 ChatGPT: Creating DocStrings with ChatGPT
Lecture 28 API Documentation: Creating an API Endpoint Decorator for Detailing Endpoints
Lecture 29 Build: Configuring Django to Handle Storing Images
Lecture 30 Build: Model Refactor for Icons and Banners in Django Model (Category)
Lecture 31 Build: Model Refactor for Icons and Banners in Django Model (Server)
Lecture 32 Building: Creating a Django Model Validation Class for Image Field Creation and
Lecture 33 Source Control: Commit and Merge
Section 5: Front End Templating
Lecture 34 Build: Create a new React Project with Vite
Lecture 35 Build: Pages Directory and Home Component
Lecture 36 Build: React Routing Introduction with React Router
Lecture 37 Build: Install MUI and integrate it into the existing project
Lecture 38 Build: Creating the Primary App Bar (Part-1) Framework
Lecture 39 Build: Integrating Google Fonts into an existing React/MUI project
Lecture 40 Build: Responsive Fonts
Lecture 41 Build: Creating the Primary App Bar (Part-2) Responsive
Lecture 42 Build: Primary Draw (Part-1) Framework
Lecture 43 Build: Primary Draw (Part-2) Functionality
Lecture 44 Build: Secondary Draw (Part-1) Framework
Lecture 45 Build: Main Component (Part-1) Framework
Section 6: API Integration
Lecture 46 Build: Install Axios and create first API request (CORS Intro)
Lecture 47 Build: Configuring Cross-Origin Resource Sharing (CORS)
Lecture 48 Build: Create a global configuration file
Lecture 49 Build: Axios Interceptor
Lecture 50 Build: Create a CRUD Hook
Lecture 51 Build: Primary Draw Component – Popular Servers
Lecture 52 Build: Secondary Draw Component – Explore Categories
Lecture 53 Build: Main Component – Exploring Servers
Lecture 54 Build: Primary App Menu – Explore Categories
Lecture 55 Build: Dark Mode
Section 7: Building Chat Services
Lecture 56 Build: Installing Django Channels
Lecture 57 Build: Installing and Managing Uvicorn
Lecture 58 Build: Implementing WebSockets – Routing
Lecture 59 Build: Channel Consumer + Sending and Receiving Messages
Lecture 60 Build: Towards Multiple User Chat Rooms
Lecture 61 Build: Server Page Templating
Lecture 62 Build: Implementing Server Channels
Lecture 63 Build: Switching Chat Rooms (Channels) in a Server
Lecture 64 Build: Implementing Channel Message History
Lecture 65 Build: Server Landing Page
Lecture 66 Build: Templating – Dynamic Channel Selection
Lecture 67 Build: Templating – Message Template
Lecture 68 Build: Templating – Message Input
Lecture 69 Build: Templating – Message Scrolling
Lecture 70 Build: Templating – Message DateTime
Section 8: Authentication
Lecture 71 Build: Installing djangorestframework-simplejwt
Lecture 72 Theory: Refresh and Access Tokens
Lecture 73 Build: Creating the Login Form
Lecture 74 Build: Authentication Context and Authentication Services
Lecture 75 Build: Protecting API Endpoints
Lecture 76 Build: Implement Protected Routes
Lecture 77 Build: Logging Out Users
Lecture 78 Build: JWT Interceptor – Using Refresh Token
Lecture 79 Theory: LocalStorage vs HttpOnly Cookie
Lecture 80 Build: Customising Simple JWT – HTTP Only Authentication
Lecture 81 Build: JWTAuthentication Class Customisations
Lecture 82 Build: Returning the User ID – Subclassing JWT Serializer
Lecture 83 Build: WebSocket Authentication
Lecture 84 Build: WebSocket Refresh Access Token
Lecture 85 Refactoring: useChatServices Custom Hook
Lecture 86 Refactoring: Incorporating Custom Hooks to allow access to the Router
Lecture 87 Build: Removing HTTP Only Cookies on Logout
Lecture 88 Build: Handling Login Form Validation
Lecture 89 Build: Registration Form
Section 9: Extending Chat Services
Lecture 90 Build: Server Membership
Lecture 91 Build: Server Membership Chat Restrictions