How to Create a YouTube Clone in Python and Django
- Project length: 7h 06m
This tutorial, how to create a YouTube.com web app clone in Python, will guide you through the process of building a minimized version of www.youtube.com. We will focus on building a web app that is minimized but extensible to your needs.
Meaning, you'll be able to fork this project and extend the Python youtube.com clone with your own features.
Our app will cover the most basic needs of a video web portal:
- Main page with an overview of new videos
- Video page with the video content and comments
- Upload page
What are the requirements?
- Basic Python 3.6+
- Basic SQL
What is the target audience?
- Do you want to build an archive of videos?
- Are you a learner who wants to quickly prototype a web app idea with Django?
- Do you want to learn how to create a minimized content management system for video files?
When are the streaming sessions (streaming schedule)?
Weekly 1 PM and 2:15 PM New York time on Friday and Saturday.
Session 1: Initializing the Development Environment and Running Django
- Setting up the programming environment on Windows
Session 2: Planning Model Diagram and Writing Models
- Diagram as an overview
- Models for each SQL entity in models.py
Session 3: Creating View for Sign-up & Sign-in Page (Form)
- View page template for sign-up & sign-in
- Form for sign-up & sign-in
- Handling sign-up POST-Request
- Handling sign-in POST-Request
Session 4: Creating View for Video Upload Page (Form)
- View page template for video upload
- Form for video entity (e.g. title, description, etc.)
- Handling POST-Request
- Saving data to DB and saving the file to the server
Session 5: Creating View for Main Page (Pagination of Video-Model)
- View page template for the main page (list of video entities)
- Pagination of the view
Session 6: Creating View for Content Page (Video Player, Delete Button)
- View page template for a content page displaying video entity and comment entities for specified video
- Delete button for video, if active user is the author
Session 7: Creating View for Comment Pagination & Form (Displayed on Content Page)
- View for comments that will be embedded into the content page
- Form for comments that will be displayed on a content page only
- Handling POST-Request for comments
Session 8: Using Bootstrap For Fine Tuning
- "Beautifying" our views with Bootstrap using official code snippets
- PostgreSQL, PostgreSQL Admin