Web Development


DjangoFlix - Build a Netflix-Like Service in Django & Python

Learn advanced Django concepts to build better & more resilient web applications.

4.24 (106 reviews)


9.5 hours


Apr 2021

Last Update
Regular Price


What you will learn

Django Proxy Models

UnitTesting Models & Proxy Models

Techniques for building the fundamentals of a Netflix-like service (except the actual video streaming)

Implementing a 5-Star Rating in Django alone

Generic Foreign Keys & Generic Relations for flexible model relations

Implementing Tagged Items & Categories for Improved Content Discovery

Creating the conditions for a machine learning model (the way the data is structured)


This is not a Netflix clone and not even close. Why? Netflix is a complex system of engineer that no one class could ever fully cover. If I told you that you could build a Netflix clone in less than 40 hours, I would be lying to you.

Instead, this is a foundation of what a Netflix-like service could be. This foundation only matters as it serves a roadmap to understanding Django on a whole new level.

Django is the most popular web framework in the world written in Python and for good reason: Django is incredibly simple and incredibly complex.

Models, Views, Forms, User Auth and Templates are fundament to Django. After completing one of my Try Django series, you'll see that creating rich web applications is, well, pretty simple.  Models map to database tables. Views essentially handle a url and render templates. Forms help validate data and templates are essentially HTML with a little programming built it.

If the paragraph above is unclear, this course is not for you.

Django's complexity comes with the layers of abstraction you can start to build within your projects. To me, these layers come from Generic Foreign Keys & Proxy Models.  The complexity on the surface might be intimating (it was for me) but after you get familiar with them you'll come to find their complexity to be less daunting and potentially, no longer complex.

The goal of this course is to introduce your to a number of concepts you may have never seen before while building the foundation for a service that could potentially grow into Netflix.

Here's some topics we'll cover:

  • Proxy Models

  • Generic Foreign Keys

  • Generic Relations

  • Automated Unit Testing

  • ManyToMany Fields vs Foreign Keys vs Generic Foreign Keys

  • Through models for ManyToMany

  • Reverse Relationships

  • Creating a Rating System (user ratings)

  • Complex Search Lookups with Q Lookups

  • Re-usuable model receiver functions

  • Custom template tag for rending a rating form

  • and much more


DjangoFlix - Build a Netflix-Like Service in Django & Python
DjangoFlix - Build a Netflix-Like Service in Django & Python
DjangoFlix - Build a Netflix-Like Service in Django & Python
DjangoFlix - Build a Netflix-Like Service in Django & Python


Getting Started



Setup Project & Workspace

Craft To Do List

django-admin startproject djangoflix

Videos app

Videos App

Our first migration & superuser

Installing Our Model

Your First TestCase

Breaking Tests & Migration Basics

Django Admin

Video Model to Django Admin

Django Admin Model Proxy

Customize the Django Admin

Django Models

CharField Choices for Publishing Videos

Test Publish State Options

Slug, Timestamp, & Updated Fields

Custom Managers & QuerySets

Using Django Signals

Foreign Keys

Playlists & Foreign Keys

Understanding Foreign Keys with the Admin

Django-Managed Python Shell to explore Foreign Keys

Many To Many Foreign Keys

Related Names & ManyToManyField

More on ManyToMany Fields

Ordering ManyToMany with Through Model

Tabular Inline in the Admin for ManyToMany

Updated Tests for Through Model


Playlists of Playlists

TV Show Playlist Proxies for Admin

Playlist Type Choices and Why

Saving Playlist Type via Proxy

Categories & Generic Foreign Keys

Categories App

ContentTypes & Generic Foreign Keys

Reverse Relationships for Generic Foreign Keys

Testing Generic Foreign Keys

User-generated Ratings For Any Model

User Ratings Model

Test User Ratings

QuerySet Aggregating for Average Rating in a Model


Templates & Base Template

Movies & TV Show List Views

List View Template

Proxy Model Tests

Routing, Signals, & More Views

URL Routing

Detail Views

Get Object Exception Handling

Unique Slug Utility & Signal Receiver

Instance Methods for Videos

Video Embeds in Templates

Related Playlist Field

Final Views

Home View & Get Absolute URL

Category Views

Tagged Item Views

Search View

Unit Test Views

Ratings & Custom Template Tags

Inclusion Template Tag for Ratings

Ratings Form

Wrap up

Thank you and next steps


Ricardo30 July 2021

Al curso primero deberían cambiarle el nombre de "build a netflick like" a "How manage models and test in django " Por que lo que no hace es justamente construir algo similar a Netflick sino que esta el 80% dandose vuelta en los modelos y en los test . Termina siendo bastante monotono y algo confuso de que esta intentando hacer. Por ultimo en la sección de Preguntas y respuestas , el instructor no contesta NINGUNA PREGUNTA Si hay bueno tips del manejo de modelos como de otras cosas, pero el titulo del curso es por decirlo menos ENGAÑOSO...

Julien17 July 2021

Pace is good. Early in the course, but looking forward to a more focused study of models and queries, which is missing in most other tutorials. Nice to see some more advanced courses - hopefully more to come.

Bruno7 May 2021

nada é explicado claramente, didática zero, desisti porque não consegui nem começar a organizar meu workspace!

Vasile26 April 2021

First off I got this for free, second off it's advertised as a "Netflix-Like Service", but that's not what you get. What you get at the end is this cheap (no styling, not even a cheap ass bootstrap!) python CRUD blog-like service with everything you would expect in a blog like categories and posts. Using wordpress is better than trying to make this "service". Overall it is not bad, you might actually learn django from it, but the title of the course is deceiving!


4/25/2021100% OFFExpired


Udemy ID


Course created date


Course Indexed date
Course Submitted by