Skip to main content
CourseFlix

Python Django - The Practical Guide

22h 54m 38s
English
Paid

Learn how to build web applications and websites with Python and the Django framework. Python is the most popular programming language of the world - it's versatile, easy to learn and very powerful!.

But one of the primary things you can build with Python is a website! You can use Python for web development.

And to make that easier, you would typically use a framework like Django - simply because that allows you to focus on your core business logic and you don't need to re-invent the wheel and implement all the nitty-gritty technical details from scratch.

And this course is about Django - the most popular Python web development framework out there!

Django covers all aspects of web development - from handling requests and responses, over rendering dynamic HTML pages with templates, all the way up to making database access and data management easy. It's all baked in and it's all covered in great detail in this course!

This course teaches Django from the ground up - you don't need to know anything about it to get started. Basic Python and web development knowledge is all you need.

We'll start at the absolute basics and understand how to create Django project, how to run them and how to add features - step by step.

In detail, this course covers:

  • Installing Django
  • Creating and understanding Django projects
  • Understanding URLs, views, requests and responses
  • Working with templates and static files like CSS and images
  • Working with data and models
  • Connecting data with relationships (one-to-many, one-to-one, many-to-many)
  • Querying data with Django's powerful model solution
  • Adding administration panels to your projects
  • Handling user input with forms - manually and with Django's built-in form support
  • Advanced features like class-based views (and when to use them)
  • Dealing with file uploads and how to serve uploaded files
  • Working with sessions
  • In-depth deployment instructions and examples
  • Different ways of deploying and serving static files and user uploads
  • And much more!

All those concepts are taught in great depth and backed up by a complete example course project where we build a "Blog website" from the ground up.

Therefore, you'll learn all the important concepts and the theory and you're also going to be able to see it applied to a real project.

Hence, once you completed the course, you'll have a very solid understanding of Django and you'll be able to dive into your own Django projects!

Additional

https://github.com/academind/django-practical-guide-course-code

About the Author: Academind Pro (Maximilian Schwarzmüller)

Academind Pro (Maximilian Schwarzmüller) thumbnail

Academind is the teaching brand of Maximilian Schwarzmüller (Max) and Manuel Lorenz, two German developers whose Udemy catalog has become one of the largest single-instructor presences on that platform. Max in particular is widely cited as one of the clearest teachers of the JavaScript framework landscape — his Angular, React, Vue, and Node.js courses have collectively taught millions of students.

The Academind Pro platform extends beyond Udemy with deeper, more comprehensive courses aimed at developers building real applications rather than picking up syntax. Course material covers the full modern web stack: React (including Next.js), Vue, Angular, Node.js, NestJS, TypeScript, Docker, AWS, React Native, Flutter, and the broader full-stack JavaScript ecosystem.

The CourseFlix listing under this source carries over 25 Academind Pro courses spanning that range. Material is paid; Academind Pro runs on per-course pricing on the original platform. Courses are taught in Max's signature thorough, build-an-application-with-me style — long-form, deeply project-based, and continuously updated as the underlying frameworks evolve.

Watch Online 232 lessons

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Introduction
All Course Lessons (232)
#Lesson TitleDurationAccess
1
Introduction Demo
02:06
2
What is Django?
04:59
3
The Course Prerequisites
01:55
4
What's Inside the Course?
03:15
5
Getting the Most out of the Course
03:06
6
Choose Your Course Path!
02:42
7
Module Introduction
01:06
8
Installing Python & Django
06:26
9
Creating a Django Project
02:34
10
Installing an IDE
07:55
11
Analyzing the Created Project
04:49
12
Starting a Development Server
05:06
13
Django Apps
08:20
14
Analyzing the Created Project
02:28
15
Module Introduction
02:46
16
Creating a New Project
05:35
17
What are URLs & Views?
05:43
18
Creating a First View & URL
13:28
19
Adding More Views & URLs
03:12
20
Dynamic Path Segments & Captured Values
09:36
21
Path Converters
05:18
22
Adding More Dynamic View Logic
05:21
23
Redirects
08:49
24
The Reverse Function & Named URLs
10:32
25
Returning HTML
05:49
26
Practicing URLs, Views & Dynamic View Logic
09:38
27
Summary
04:44
28
Module Introduction
03:56
29
Adding & Registering Templates
14:56
30
Rendering Templates
04:17
31
Template Language & Variable Interpolation
05:39
32
Exercise Solution
01:57
33
Filters
04:20
34
The Django Visual Studio Code Extension
02:30
35
Tags & the "for" Tag
08:03
36
The URL Tag for Dynamic URLs
06:11
37
The "if" Tag for Conditional Content
05:17
38
Template Inheritance
09:39
39
Exercise Solution
01:32
40
Including Partial Template Snippets
09:46
41
404 Templates
07:09
42
Adding Static Files
09:14
43
Adding Global Static Files
06:25
44
Adding CSS Styling
15:56
45
Summary
04:49
46
Module Introduction
01:14
47
Setting Up the Starting Project
03:46
48
Planning the Project
04:27
49
Adding URLs & Views
11:18
50
Adding First Templates
08:12
51
Template Content & Static Files
16:12
52
Adding Images as Static Files
02:59
53
Adding the "All Posts" Page & Style
10:33
54
Linking the Pages
04:17
55
Adding the "Single Post" Page
05:40
56
Adding Dummy Data to the "Views" File
04:11
57
Special Template Features & Syntax
11:27
58
Adding a Single Post Page
08:45
59
Adding a 404 Page
01:58
60
Module Introduction
02:56
61
Different Kinds of Data
06:57
62
Understanding Database Options
06:16
63
Understanding SQL
06:39
64
Django Models
01:03
65
Creating a Django Model with Fields
09:46
66
Migrations
06:59
67
Inserting Data
04:36
68
Getting all Entries
01:53
69
Updating Models & Migrations
12:18
70
Blank vs Null
02:43
71
Updating Data
05:50
72
Deleting Data
01:18
73
Create Instead of Save
03:08
74
Querying & Filtering Data
07:44
75
"or" Conditions
04:03
76
Query Performance
05:44
77
Preparing Templates
07:11
78
Rendering Queried Data in the Template
03:00
79
Rendering the Details Page
09:39
80
Model URLs
04:42
81
Adding a Slugfield & Overwriting Save
09:05
82
Using the Slug & Updating Field Options
06:06
83
Aggregation & Ordering
07:15
84
Summary
03:30
85
Module Introduction
02:15
86
Logging Data Into the Admin Panel
05:29
87
Adding Models to the Admin Area
03:33
88
Configuring Model Fields
03:04
89
Configuring the Admin Settings
06:29
90
More Config Options
05:06
91
Module Introduction
01:53
92
Understanding Relationship Types
03:05
93
Adding a one-to-many Relation & Migrations
09:03
94
Working with Relations in Python Code
06:30
95
Cross Model Queries
08:25
96
Managing Relations in Admin
05:07
97
Adding a one-to-one Relation
06:43
98
One-to-one Python Code
04:55
99
One-to-one & Admin Config
05:24
100
Setting-up many-to-many
04:46
101
Using many-to-many in Python
05:19
102
Many-to-many in Admin
02:21
103
Summary
02:38
104
Module Introduction
01:58
105
Planning the Data Models
04:04
106
Adding a Post Model
07:37
107
Author Model & one-to-many
03:07
108
Tag Model many-to-many
01:23
109
Registering Models for Admin
01:16
110
Migrations & Admin Login
03:14
111
Adding Data via Admin
06:03
112
Configuring the Admin Panel
05:37
113
Fetching Posts for Starting Page
06:38
114
All Post & Single Post Pages
04:51
115
Using Author & Tags Data
08:35
116
Summary
01:41
117
Module Introduction
01:54
118
Starting Setup
04:53
119
Adding a Dummy Form
04:41
120
Get & Post Requests
10:00
121
CSRF Protection
05:54
122
Handling Form Submission & Extracting Data
09:51
123
Manual Form Validation & the Problems with "that"
06:10
124
Using the Django Form Class
11:05
125
Validation with Django Forms
04:13
126
Customizing the Form Controls
05:01
127
Customizing the Rendered HTML
05:06
128
Adding Styling
09:09
129
Adding More Form Controls
07:38
130
Storing Form Data in a Database
08:38
131
Introducing Modelforms
06:38
132
Configuring the Modelform
03:48
133
Saving Data with a Modelform
04:29
134
Class Based Views
08:42
135
Summary
05:54
136
Module Introduction
01:08
137
Adding Templates
04:22
138
TemplateView
07:57
139
Using the TemplateView
05:04
140
Showing a Detail Template
05:07
141
The ListView
06:56
142
DetailView
03:49
143
When to Use Which View
02:24
144
FormView
06:43
145
CreateView
04:48
146
Module Introduction
01:22
147
Starting Setup
01:26
148
Making the File Upload Work
07:31
149
Storing Uploaded Files Naive Approach
04:40
150
Adding a Form with a Filefield
04:39
151
Using Models for File Storage
08:45
152
Using an Imagefield
02:20
153
Using a CreateView
02:35
154
Working with the File Field
05:11
155
Serving Uploaded Files
06:51
156
Summary
01:54
157
Module Introduction
00:39
158
Problem Description
02:02
159
What are Sessions?
03:42
160
Enabling & Configuring Sessions
02:16
161
Adding a New View
04:32
162
Storing Data in Sessions
04:04
163
Which Kind of Data Should be Stored
02:34
164
Using Session Data
05:34
165
Safely Accessing Session Data
01:13
166
Summary
01:33
167
Module Introduction
02:06
168
Adding an Imagefield to the Post Model
06:32
169
Serving Uploaded Files
06:24
170
Converting Views to Class Based
14:04
171
Adding a Comment Model
05:16
172
Adding a Comment Form
06:02
173
Styling the Comment Form
07:16
174
Handling Comment Form Submission
14:07
175
Comment Form Validation Styles
09:40
176
Outputting Comments
05:04
177
Styling the Comments
03:14
178
Comment Admin
03:45
179
Read Later Starting Setup
07:10
180
Managing Read Later via Session
13:53
181
Read Later Page & Styling
06:31
182
Finishing the Read Later Feature
06:22
183
Module Introduction
01:31
184
Deployment Considerations
05:01
185
Which Database
03:53
186
Django & Web Servers
04:35
187
Serving Static Files
05:44
188
Choosing a Hosting Provider
02:43
189
Getting Started & Revisiting Settings
07:01
190
Collecting Static Files
07:36
191
Serving Static Files
01:53
192
A Note About Migrations
01:14
193
Locking in Dependencies
05:49
194
Using Environment Variables
05:04
195
Deploying with Elastic Beanstalk
10:43
196
SSL & Custom Domains
02:58
197
Connecting PostgreSQL
18:59
198
Serving Static Files Separately
08:52
199
Serving Static Files via S3
17:39
200
Moving File Uploads to S3
08:27
201
Summary
01:29
202
Module Introduction
03:08
203
What & Why?
06:02
204
Setup & Analyzing the Project Folder
07:04
205
Working with Apps
04:50
206
URLs & Views
12:20
207
Getting Started with Templates
06:55
208
Static Files & First Steps with the Django Template Language
08:26
209
Key Django Template Language Features & Tags
09:40
210
Using What we Learned
08:54
211
Adding a Detail Page
10:45
212
Dynamic Paths
08:14
213
Dynamic URLs in Templates
06:50
214
Using Template Inheritance
12:46
215
Includes
05:00
216
What is Data?
03:44
217
Getting Started with Models
11:13
218
Using the Admin Panel
04:42
219
Querying Data
07:52
220
Adding Image Upload
11:39
221
Serving & Displaying Images
07:03
222
Configuring the Admin Area
08:27
223
Setting one-to-many Relations
09:53
224
many-to-many Relations
09:46
225
More Meetup Fields & Outputting Related Data
07:39
226
Creating a Modelform
08:22
227
Handling Form Submission
10:12
228
More on Form Submission & Validation
10:48
229
From Modelform to Form
00:00
230
Polishing Organizer Email
08:27
231
Optimizing URLs
04:00
232
Wrap Up
01:32
Unlock unlimited learning

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

Learn more about subscription

Course content

232 lessons · 22h 54m 38s
Show all 232 lessons
  1. 1 Introduction 02:06
  2. 2 What is Django? 04:59
  3. 3 The Course Prerequisites 01:55
  4. 4 What's Inside the Course? 03:15
  5. 5 Getting the Most out of the Course 03:06
  6. 6 Choose Your Course Path! 02:42
  7. 7 Module Introduction 01:06
  8. 8 Installing Python & Django 06:26
  9. 9 Creating a Django Project 02:34
  10. 10 Installing an IDE 07:55
  11. 11 Analyzing the Created Project 04:49
  12. 12 Starting a Development Server 05:06
  13. 13 Django Apps 08:20
  14. 14 Analyzing the Created Project 02:28
  15. 15 Module Introduction 02:46
  16. 16 Creating a New Project 05:35
  17. 17 What are URLs & Views? 05:43
  18. 18 Creating a First View & URL 13:28
  19. 19 Adding More Views & URLs 03:12
  20. 20 Dynamic Path Segments & Captured Values 09:36
  21. 21 Path Converters 05:18
  22. 22 Adding More Dynamic View Logic 05:21
  23. 23 Redirects 08:49
  24. 24 The Reverse Function & Named URLs 10:32
  25. 25 Returning HTML 05:49
  26. 26 Practicing URLs, Views & Dynamic View Logic 09:38
  27. 27 Summary 04:44
  28. 28 Module Introduction 03:56
  29. 29 Adding & Registering Templates 14:56
  30. 30 Rendering Templates 04:17
  31. 31 Template Language & Variable Interpolation 05:39
  32. 32 Exercise Solution 01:57
  33. 33 Filters 04:20
  34. 34 The Django Visual Studio Code Extension 02:30
  35. 35 Tags & the "for" Tag 08:03
  36. 36 The URL Tag for Dynamic URLs 06:11
  37. 37 The "if" Tag for Conditional Content 05:17
  38. 38 Template Inheritance 09:39
  39. 39 Exercise Solution 01:32
  40. 40 Including Partial Template Snippets 09:46
  41. 41 404 Templates 07:09
  42. 42 Adding Static Files 09:14
  43. 43 Adding Global Static Files 06:25
  44. 44 Adding CSS Styling 15:56
  45. 45 Summary 04:49
  46. 46 Module Introduction 01:14
  47. 47 Setting Up the Starting Project 03:46
  48. 48 Planning the Project 04:27
  49. 49 Adding URLs & Views 11:18
  50. 50 Adding First Templates 08:12
  51. 51 Template Content & Static Files 16:12
  52. 52 Adding Images as Static Files 02:59
  53. 53 Adding the "All Posts" Page & Style 10:33
  54. 54 Linking the Pages 04:17
  55. 55 Adding the "Single Post" Page 05:40
  56. 56 Adding Dummy Data to the "Views" File 04:11
  57. 57 Special Template Features & Syntax 11:27
  58. 58 Adding a Single Post Page 08:45
  59. 59 Adding a 404 Page 01:58
  60. 60 Module Introduction 02:56
  61. 61 Different Kinds of Data 06:57
  62. 62 Understanding Database Options 06:16
  63. 63 Understanding SQL 06:39
  64. 64 Django Models 01:03
  65. 65 Creating a Django Model with Fields 09:46
  66. 66 Migrations 06:59
  67. 67 Inserting Data 04:36
  68. 68 Getting all Entries 01:53
  69. 69 Updating Models & Migrations 12:18
  70. 70 Blank vs Null 02:43
  71. 71 Updating Data 05:50
  72. 72 Deleting Data 01:18
  73. 73 Create Instead of Save 03:08
  74. 74 Querying & Filtering Data 07:44
  75. 75 "or" Conditions 04:03
  76. 76 Query Performance 05:44
  77. 77 Preparing Templates 07:11
  78. 78 Rendering Queried Data in the Template 03:00
  79. 79 Rendering the Details Page 09:39
  80. 80 Model URLs 04:42
  81. 81 Adding a Slugfield & Overwriting Save 09:05
  82. 82 Using the Slug & Updating Field Options 06:06
  83. 83 Aggregation & Ordering 07:15
  84. 84 Summary 03:30
  85. 85 Module Introduction 02:15
  86. 86 Logging Data Into the Admin Panel 05:29
  87. 87 Adding Models to the Admin Area 03:33
  88. 88 Configuring Model Fields 03:04
  89. 89 Configuring the Admin Settings 06:29
  90. 90 More Config Options 05:06
  91. 91 Module Introduction 01:53
  92. 92 Understanding Relationship Types 03:05
  93. 93 Adding a one-to-many Relation & Migrations 09:03
  94. 94 Working with Relations in Python Code 06:30
  95. 95 Cross Model Queries 08:25
  96. 96 Managing Relations in Admin 05:07
  97. 97 Adding a one-to-one Relation 06:43
  98. 98 One-to-one Python Code 04:55
  99. 99 One-to-one & Admin Config 05:24
  100. 100 Setting-up many-to-many 04:46
  101. 101 Using many-to-many in Python 05:19
  102. 102 Many-to-many in Admin 02:21
  103. 103 Summary 02:38
  104. 104 Module Introduction 01:58
  105. 105 Planning the Data Models 04:04
  106. 106 Adding a Post Model 07:37
  107. 107 Author Model & one-to-many 03:07
  108. 108 Tag Model many-to-many 01:23
  109. 109 Registering Models for Admin 01:16
  110. 110 Migrations & Admin Login 03:14
  111. 111 Adding Data via Admin 06:03
  112. 112 Configuring the Admin Panel 05:37
  113. 113 Fetching Posts for Starting Page 06:38
  114. 114 All Post & Single Post Pages 04:51
  115. 115 Using Author & Tags Data 08:35
  116. 116 Summary 01:41
  117. 117 Module Introduction 01:54
  118. 118 Starting Setup 04:53
  119. 119 Adding a Dummy Form 04:41
  120. 120 Get & Post Requests 10:00
  121. 121 CSRF Protection 05:54
  122. 122 Handling Form Submission & Extracting Data 09:51
  123. 123 Manual Form Validation & the Problems with "that" 06:10
  124. 124 Using the Django Form Class 11:05
  125. 125 Validation with Django Forms 04:13
  126. 126 Customizing the Form Controls 05:01
  127. 127 Customizing the Rendered HTML 05:06
  128. 128 Adding Styling 09:09
  129. 129 Adding More Form Controls 07:38
  130. 130 Storing Form Data in a Database 08:38
  131. 131 Introducing Modelforms 06:38
  132. 132 Configuring the Modelform 03:48
  133. 133 Saving Data with a Modelform 04:29
  134. 134 Class Based Views 08:42
  135. 135 Summary 05:54
  136. 136 Module Introduction 01:08
  137. 137 Adding Templates 04:22
  138. 138 TemplateView 07:57
  139. 139 Using the TemplateView 05:04
  140. 140 Showing a Detail Template 05:07
  141. 141 The ListView 06:56
  142. 142 DetailView 03:49
  143. 143 When to Use Which View 02:24
  144. 144 FormView 06:43
  145. 145 CreateView 04:48
  146. 146 Module Introduction 01:22
  147. 147 Starting Setup 01:26
  148. 148 Making the File Upload Work 07:31
  149. 149 Storing Uploaded Files Naive Approach 04:40
  150. 150 Adding a Form with a Filefield 04:39
  151. 151 Using Models for File Storage 08:45
  152. 152 Using an Imagefield 02:20
  153. 153 Using a CreateView 02:35
  154. 154 Working with the File Field 05:11
  155. 155 Serving Uploaded Files 06:51
  156. 156 Summary 01:54
  157. 157 Module Introduction 00:39
  158. 158 Problem Description 02:02
  159. 159 What are Sessions? 03:42
  160. 160 Enabling & Configuring Sessions 02:16
  161. 161 Adding a New View 04:32
  162. 162 Storing Data in Sessions 04:04
  163. 163 Which Kind of Data Should be Stored 02:34
  164. 164 Using Session Data 05:34
  165. 165 Safely Accessing Session Data 01:13
  166. 166 Summary 01:33
  167. 167 Module Introduction 02:06
  168. 168 Adding an Imagefield to the Post Model 06:32
  169. 169 Serving Uploaded Files 06:24
  170. 170 Converting Views to Class Based 14:04
  171. 171 Adding a Comment Model 05:16
  172. 172 Adding a Comment Form 06:02
  173. 173 Styling the Comment Form 07:16
  174. 174 Handling Comment Form Submission 14:07
  175. 175 Comment Form Validation Styles 09:40
  176. 176 Outputting Comments 05:04
  177. 177 Styling the Comments 03:14
  178. 178 Comment Admin 03:45
  179. 179 Read Later Starting Setup 07:10
  180. 180 Managing Read Later via Session 13:53
  181. 181 Read Later Page & Styling 06:31
  182. 182 Finishing the Read Later Feature 06:22
  183. 183 Module Introduction 01:31
  184. 184 Deployment Considerations 05:01
  185. 185 Which Database 03:53
  186. 186 Django & Web Servers 04:35
  187. 187 Serving Static Files 05:44
  188. 188 Choosing a Hosting Provider 02:43
  189. 189 Getting Started & Revisiting Settings 07:01
  190. 190 Collecting Static Files 07:36
  191. 191 Serving Static Files 01:53
  192. 192 A Note About Migrations 01:14
  193. 193 Locking in Dependencies 05:49
  194. 194 Using Environment Variables 05:04
  195. 195 Deploying with Elastic Beanstalk 10:43
  196. 196 SSL & Custom Domains 02:58
  197. 197 Connecting PostgreSQL 18:59
  198. 198 Serving Static Files Separately 08:52
  199. 199 Serving Static Files via S3 17:39
  200. 200 Moving File Uploads to S3 08:27
  201. 201 Summary 01:29
  202. 202 Module Introduction 03:08
  203. 203 What & Why? 06:02
  204. 204 Setup & Analyzing the Project Folder 07:04
  205. 205 Working with Apps 04:50
  206. 206 URLs & Views 12:20
  207. 207 Getting Started with Templates 06:55
  208. 208 Static Files & First Steps with the Django Template Language 08:26
  209. 209 Key Django Template Language Features & Tags 09:40
  210. 210 Using What we Learned 08:54
  211. 211 Adding a Detail Page 10:45
  212. 212 Dynamic Paths 08:14
  213. 213 Dynamic URLs in Templates 06:50
  214. 214 Using Template Inheritance 12:46
  215. 215 Includes 05:00
  216. 216 What is Data? 03:44
  217. 217 Getting Started with Models 11:13
  218. 218 Using the Admin Panel 04:42
  219. 219 Querying Data 07:52
  220. 220 Adding Image Upload 11:39
  221. 221 Serving & Displaying Images 07:03
  222. 222 Configuring the Admin Area 08:27
  223. 223 Setting one-to-many Relations 09:53
  224. 224 many-to-many Relations 09:46
  225. 225 More Meetup Fields & Outputting Related Data 07:39
  226. 226 Creating a Modelform 08:22
  227. 227 Handling Form Submission 10:12
  228. 228 More on Form Submission & Validation 10:48
  229. 229 From Modelform to Form 00:00
  230. 230 Polishing Organizer Email 08:27
  231. 231 Optimizing URLs 04:00
  232. 232 Wrap Up 01:32

Related courses

Frequently asked questions

What is Python Django - The Practical Guide about?
Learn how to build web applications and websites with Python and the Django framework. Python is the most popular programming language of the world - it's versatile, easy to learn and very powerful!.
Who teaches Python Django - The Practical Guide?
Python Django - The Practical Guide is taught by Academind Pro (Maximilian Schwarzmüller). You can find more courses by this instructor on the corresponding source page.
How long is Python Django - The Practical Guide?
Python Django - The Practical Guide contains 232 lessons with a total runtime of 22 hours 54 minutes. All lessons are available to watch online at your own pace.
Is Python Django - The Practical Guide free to watch?
Python Django - The Practical Guide 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 Python Django - The Practical Guide online?
Python Django - The Practical Guide is available to watch online on CourseFlix at https://courseflix.net/course/python-django-the-practical-guide. The page hosts every lesson with the integrated video player; no download is required.