Skip to main content
CF

Build a Backend REST API with Python & Django - Advanced

7h 57m 59s
English
Paid
Updated September 2026

Build a Backend REST API with Python & Django - Advanced is a 72-lesson 7 hours 57 minutes self-paced course by Udemy. An app is only as solid as the API behind it, and this advanced course is built entirely around getting that part right – using Python, Django, Django REST Framework, Docker, Postgres, Travis CI, and test-driven development.

Course facts

Lessons
72
Duration
7 hours 57 minutes
Level
All levels
Language
English
Updated
2026-09-11
Instructor
Udemy
Price
Premium

An app is only as solid as the API behind it, and this advanced course is built entirely around getting that part right – using Python, Django, Django REST Framework, Docker, Postgres, Travis CI, and test-driven development.

The project

You build a recipe API: users can upload photos, store recipes with titles, prices, cook times, ingredients, and tags like "vegan" or "comfort food," and search or filter through them. Along the way you implement full user authentication, image uploads, and object filtering.

What you'll pick up

  • Setting up a project with Docker and Docker Compose
  • Configuring Travis CI for automated linting and testing
  • Writing tests with the Django Test Framework, following TDD from the start
  • Customizing the Django admin and handling media uploads
  • Configuring a Postgres database

This isn't a course about building a front end or deploying ten different small apps – it's a focused, hands-on look at building one advanced API the right way. Basic Django familiarity and comfort with the command line are expected; Docker requires Windows 10 Pro/Enterprise, macOS, or Linux.

Who teaches Build a Backend REST API with Python & Django - Advanced? Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

What lessons are included in Build a Backend REST API with Python & Django - Advanced?

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Welcome to Build a Backend API with Django REST Framework - Advanced
All Course Lessons (72)
#Lesson TitleDurationAccess
1
Welcome to Build a Backend API with Django REST Framework - Advanced Demo
02:21
2
Intro to the course
02:25
3
Course structure
01:04
4
How to get the most out of this course
00:55
5
How to get help
01:26
6
Python
00:49
7
Django
00:55
8
Django REST Framework
00:47
9
Docker
00:36
10
Travis-CI
00:44
11
Postgres
00:19
12
What is test driven development?
04:01
13
Setup new GitHub project
02:51
14
Add Dockerfile
09:57
15
Configure Docker Compose
05:23
16
Create Django project
02:57
17
Enable Travis-CI for project
01:42
18
Create Travis-CI configuration file
07:16
19
Writing a simple unit test
05:48
20
Writing a unit test with TDD
05:09
21
Create core app
02:53
22
Add tests for custom user model
05:42
23
Implement custom user model
10:24
24
Normalize email addresses
03:26
25
Add validation for email field
02:37
26
Add support for creating superusers
05:21
27
Add tests for listing users in Django admin
09:31
28
Modify Django admin to list our custom user model
02:28
29
Modify Django admin to support changing user model
07:49
30
Modify Django admin to support creating users
04:57
31
Add postgres to docker compose
05:26
32
Add postgres support to Dockerfile
05:44
33
Configure database in Django
02:53
34
Mocking with unittests
01:31
35
Add tests for wait_for_db command
11:44
36
Add wait_for_db command
07:32
37
Make docker compose wait for db
02:52
38
Test in browser
03:02
39
Create users app
03:30
40
Add tests for create user API
16:44
41
Add create user API
13:53
42
Add tests for creating a new token
10:40
43
Add create token API
13:54
44
Add tests for manage user endpoint
11:51
45
Add manage user endpoint
11:25
46
Create recipe app
02:16
47
Add tag model
08:10
48
Add tests for listing tags
12:09
49
Add feature to list tags
12:13
50
Add create tags feature
07:08
51
Add ingredient model
04:09
52
Add tests for listing ingredients
10:30
53
Implement feature for list ingredients
05:05
54
Implement feature for creating ingredients
07:39
55
Re-factor tags and ingredients viewsets
07:05
56
Add recipe model
12:51
57
Add tests for listing recipes
15:17
58
Implement feature for listing recipes
08:39
59
Add tests for retrieving recipe detail
09:13
60
Implement feature for retrieving recipe detail
07:07
61
Add tests for creating recipes
11:27
62
Implement feature for creating recipes
04:23
63
Add tests for updating recipes
09:43
64
Add Pillow requirement
12:16
65
Modify recipe model
11:54
66
Add tests for uploading image to recipe
13:30
67
Add feature to upload image
11:18
68
Add tests for filtering recipes
08:58
69
Implement feature to filter recipes
09:20
70
Add tests for filtering tags and ingredients
13:00
71
Implement feature for filtering tags and ingredients
06:32
72
What was covered in this course
00:53
Unlock unlimited learning

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

Learn more about subscription

What courses are similar to Build a Backend REST API with Python & Django - Advanced?

More courses by Udemy

Frequently asked questions

What are the prerequisites for enrolling in this course?
This course assumes a working knowledge of Python and a basic understanding of Django. Familiarity with Docker, Travis CI, and Postgres is beneficial but not mandatory. The course will cover these tools, but having prior exposure will help you follow along more easily with the advanced topics.
What specific project will I build during the course?
You will build a recipe API that allows users to upload and store recipes from photos and the web. This API includes functionalities like creating user profiles, managing user authentication, creating and updating objects, and filtering and searching for recipes. The project serves as a virtual recipe box where users can manage recipes with details such as titles, price points, cooking times, ingredients, and tags.
Is this course suitable for beginners?
This course is designed for individuals with some experience in Python and Django. It is not ideal for complete beginners, as it delves into advanced topics like Test Driven Development, Docker, and CI/CD with Travis CI. If you are a beginner, gaining foundational knowledge in Python and Django would be beneficial before taking this course.
How does this course compare in depth and scope to other courses?
The course provides an advanced exploration of building a REST API using Django and related technologies. It covers not only the core aspects of API development but also integrates tools like Docker, Travis CI, and Postgres. The inclusion of Test Driven Development sets it apart by instilling best practices in development and testing, which are often not covered in basic courses.
What technologies and tools will I learn to use in this course?
The course covers the use of Python, Django, and the Django REST Framework for API development. It also incorporates Docker for containerization, Travis CI for continuous integration, and Postgres for database management. Additionally, it emphasizes Test Driven Development practices throughout the lessons.
What topics are not covered in the course?
The course does not cover frontend development or user interface design. It focuses solely on backend API development and related practices. If you are looking to learn about frontend frameworks or full-stack development, this course would not address those areas.
How much time will I need to complete the course?
The course consists of 72 lessons. The time commitment will depend on your pace of learning and prior experience with the technologies. On average, students can expect to spend several weeks completing the course, especially if they are new to the advanced topics covered, like Docker and Test Driven Development.