Last Updated on April 25, 2021 by Kalayiro Dominic
DjangoFlix – Build a Netflix-Like Service in Django & Python
Learn advanced Django concepts to build better & more resilient web applications
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
Who this course is for:
- Django Developers looking for a deeper dive into Django Model Capabilities
- Beginner Django Developers needing to better understand Testing in a practical use case.
What you’ll 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)
- 30 Days of Python (or equivalent python experience)
- Try Django (or equivalent Django experience)
- You know how to implement classes, functions, variables, iterators, and more in Python