Skip to main content
CF

The Ultimate Django Series: Part 3

4h 18m 11s
English
Paid

Master advanced techniques and best practices for building professional-quality backends. Following the concepts we mastered in Part 2, we're now going to take our backend to the next level.

You'll learn how to:

  • Build an API for uploading files
  • Write automated tests with PyTest
  • Find performance bottlenecks
  • Implement caching with Redis
  • Run background jobs with Celery
  • Deploy your backends to the cloud
  • Plus much, much more.

By the end of Part 3, you'll have mastered these concepts, which means you'll be able to produce professional-quality backends with confidence.

About the Author: Mosh Hamedani (Code with Mosh)

Mosh Hamedani (Code with Mosh) thumbnail

Mosh Hamedani is the founder of Code with Mosh, one of the highest-volume independent online instructors in software education. He has been publishing courses continuously since the early Udemy era and has taught over a million students across his Udemy catalog and his standalone Code with Mosh platform. His teaching style is patient, rigorously structured, and deliberately beginner-tolerant — the courses are widely cited as some of the most accessible introductions to their respective topics.

The Code with Mosh catalog covers an unusually wide span: web development with HTML / CSS / JavaScript / React / Angular / Node.js, Python and Django, C# and .NET, mobile development with React Native and Flutter, SQL and database fundamentals, and the algorithm / data-structure interview prep tracks. Few independent instructors maintain this much breadth at consistent quality.

The CourseFlix listing under this source carries over 35 Code with Mosh courses spanning that range. Material is paid; Code with Mosh runs on per-course pricing on the original platform. Courses are aimed primarily at developers picking up a new technology from a clean start through to working production proficiency.

Watch Online 83 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 83 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: 1- Welcome
All Course Lessons (83)
#Lesson TitleDurationAccess
1
1- Welcome Demo
00:50
2
2- Setting Up the Project
05:23
3
1- Introduction
00:21
4
2- Managing Media Files
03:55
5
3- Adding Images to Products
03:00
6
4- Building an API to Upload Images
06:15
7
5- Returning Images from the API
02:50
8
6- Validating Uploaded Files
04:01
9
7- Setting Up the Client App
01:48
10
8- Enabling CORS
05:34
11
9- Managing Images in the Admin
09:13
12
1- Introduction
00:16
13
2- Setting up a Fake SMTP Server
02:34
14
3- Configuring the Email Backend
02:39
15
4- Sending Emails
04:35
16
5- Attaching Files
02:06
17
6- Sending Templated Emails
04:59
18
1- Introduction
00:16
19
2- Introduction to Celery
02:02
20
3- Message Brokers
02:51
21
4- Installing Redis
02:58
22
5- Celery and Windows
00:50
23
6- Setting Up Celery
05:30
24
7- Creating and Executing Tasks
05:40
25
8- Scheduling Periodic Tasks
03:54
26
9- Monitoring Celery Tasks
01:42
27
1- Introduction
00:23
28
2- What is Automated Testing
02:12
29
3- Test Behaviours, Not Implementations
02:51
30
4- Tooling
02:02
31
5- Your First Test
04:45
32
6- Running Tests
05:02
33
7- Skipping Tests
00:55
34
8- Continuous Testing
01:57
35
9- Running and Debugging Tests in VSCode
02:30
36
10- Authenticating the User
00:58
37
11- Single or Multiple Assertions
05:49
38
12- Fixtures
07:39
39
13- Creating Model Instances
09:00
40
1- Introduction
00:20
41
2- Why Performance Testing
01:23
42
3- Installing Locust
00:33
43
4- Creating a Test Script
07:52
44
5- Running a Test Script
04:14
45
6- Running a Performance Test
02:53
46
7- Performance Optimization Techniques
03:52
47
8- Profiling with Silk
07:58
48
9- Verifying Optimizations
03:45
49
10- Stress Testing
02:49
50
1- Introduction
00:17
51
2- What is Caching
02:24
52
3- Cache Backends
01:34
53
4- Simulating a Slow API
01:11
54
5- Getting a Baseline Performance Benchmark
01:25
55
6- Installing Redis
00:56
56
7- Configuring Caching
01:17
57
8- Using the Low-level Cache API
03:28
58
9- Caching Views
04:50
59
10- Verifying Optimizations
01:48
60
11- Managing Redis Cache Content
02:41
61
1- Introduction
00:17
62
2- Adding the Home Page
02:38
63
3- Adding Static Assets
03:08
64
4- Collecting Static Assets
02:48
65
5- Serving Static Assets
01:00
66
6- Configuring Logging
06:28
67
7- Logging
05:31
68
8- Managing Development and Production Settings
07:14
69
9- Serving the Application with Gunicorn
02:10
70
1- Introduction
00:20
71
2- Hosting Options
00:54
72
3- Adding Project to Git
02:04
73
4- Getting Started with Heroku
01:27
74
5- Creating a Heroku App
02:00
75
6- Setting Environment Variables
01:50
76
7- Creating a Procfile
01:59
77
8- Provisioning a MySQL Database
03:51
78
9- Provisioning a Redis Instance
02:52
79
10- Provisioning an SMTP Server
01:36
80
11- Deploying the Application
05:53
81
12 - Populating the Database
02:14
82
13- Dockerizing the App
09:57
83
14- Course Wrap Up
00:25
Unlock unlimited learning

Get instant access to all 82 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Course content

83 lessons · 4h 18m 11s
Show all 83 lessons
  1. 1 1- Welcome 00:50
  2. 2 2- Setting Up the Project 05:23
  3. 3 1- Introduction 00:21
  4. 4 2- Managing Media Files 03:55
  5. 5 3- Adding Images to Products 03:00
  6. 6 4- Building an API to Upload Images 06:15
  7. 7 5- Returning Images from the API 02:50
  8. 8 6- Validating Uploaded Files 04:01
  9. 9 7- Setting Up the Client App 01:48
  10. 10 8- Enabling CORS 05:34
  11. 11 9- Managing Images in the Admin 09:13
  12. 12 1- Introduction 00:16
  13. 13 2- Setting up a Fake SMTP Server 02:34
  14. 14 3- Configuring the Email Backend 02:39
  15. 15 4- Sending Emails 04:35
  16. 16 5- Attaching Files 02:06
  17. 17 6- Sending Templated Emails 04:59
  18. 18 1- Introduction 00:16
  19. 19 2- Introduction to Celery 02:02
  20. 20 3- Message Brokers 02:51
  21. 21 4- Installing Redis 02:58
  22. 22 5- Celery and Windows 00:50
  23. 23 6- Setting Up Celery 05:30
  24. 24 7- Creating and Executing Tasks 05:40
  25. 25 8- Scheduling Periodic Tasks 03:54
  26. 26 9- Monitoring Celery Tasks 01:42
  27. 27 1- Introduction 00:23
  28. 28 2- What is Automated Testing 02:12
  29. 29 3- Test Behaviours, Not Implementations 02:51
  30. 30 4- Tooling 02:02
  31. 31 5- Your First Test 04:45
  32. 32 6- Running Tests 05:02
  33. 33 7- Skipping Tests 00:55
  34. 34 8- Continuous Testing 01:57
  35. 35 9- Running and Debugging Tests in VSCode 02:30
  36. 36 10- Authenticating the User 00:58
  37. 37 11- Single or Multiple Assertions 05:49
  38. 38 12- Fixtures 07:39
  39. 39 13- Creating Model Instances 09:00
  40. 40 1- Introduction 00:20
  41. 41 2- Why Performance Testing 01:23
  42. 42 3- Installing Locust 00:33
  43. 43 4- Creating a Test Script 07:52
  44. 44 5- Running a Test Script 04:14
  45. 45 6- Running a Performance Test 02:53
  46. 46 7- Performance Optimization Techniques 03:52
  47. 47 8- Profiling with Silk 07:58
  48. 48 9- Verifying Optimizations 03:45
  49. 49 10- Stress Testing 02:49
  50. 50 1- Introduction 00:17
  51. 51 2- What is Caching 02:24
  52. 52 3- Cache Backends 01:34
  53. 53 4- Simulating a Slow API 01:11
  54. 54 5- Getting a Baseline Performance Benchmark 01:25
  55. 55 6- Installing Redis 00:56
  56. 56 7- Configuring Caching 01:17
  57. 57 8- Using the Low-level Cache API 03:28
  58. 58 9- Caching Views 04:50
  59. 59 10- Verifying Optimizations 01:48
  60. 60 11- Managing Redis Cache Content 02:41
  61. 61 1- Introduction 00:17
  62. 62 2- Adding the Home Page 02:38
  63. 63 3- Adding Static Assets 03:08
  64. 64 4- Collecting Static Assets 02:48
  65. 65 5- Serving Static Assets 01:00
  66. 66 6- Configuring Logging 06:28
  67. 67 7- Logging 05:31
  68. 68 8- Managing Development and Production Settings 07:14
  69. 69 9- Serving the Application with Gunicorn 02:10
  70. 70 1- Introduction 00:20
  71. 71 2- Hosting Options 00:54
  72. 72 3- Adding Project to Git 02:04
  73. 73 4- Getting Started with Heroku 01:27
  74. 74 5- Creating a Heroku App 02:00
  75. 75 6- Setting Environment Variables 01:50
  76. 76 7- Creating a Procfile 01:59
  77. 77 8- Provisioning a MySQL Database 03:51
  78. 78 9- Provisioning a Redis Instance 02:52
  79. 79 10- Provisioning an SMTP Server 01:36
  80. 80 11- Deploying the Application 05:53
  81. 81 12 - Populating the Database 02:14
  82. 82 13- Dockerizing the App 09:57
  83. 83 14- Course Wrap Up 00:25

Related courses

Frequently asked questions

What is The Ultimate Django Series: Part 3 about?
Master advanced techniques and best practices for building professional-quality backends. Following the concepts we mastered in Part 2, we're now going to take our backend to the next level.
Who teaches The Ultimate Django Series: Part 3?
The Ultimate Django Series: Part 3 is taught by Mosh Hamedani (Code with Mosh). You can find more courses by this instructor on the corresponding source page.
How long is The Ultimate Django Series: Part 3?
The Ultimate Django Series: Part 3 contains 83 lessons with a total runtime of 4 hours 18 minutes. All lessons are available to watch online at your own pace.
Is The Ultimate Django Series: Part 3 free to watch?
The Ultimate Django Series: Part 3 is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch The Ultimate Django Series: Part 3 online?
The Ultimate Django Series: Part 3 is available to watch online on CourseFlix at https://courseflix.net/course/the-ultimate-django-series-part-3. The page hosts every lesson with the integrated video player; no download is required.