
Begin a project-based Django journey from setting up the first project to models, views, URLs, and authentication, then add features like voting, comments, profile management, and templates.
Explore django, a python-based back-end web framework with a batteries-included, opinionated design, the model-view-template pattern, and built-in templating and APIs for rapid website development.
Prepare by reviewing Python syntax, variables, loops, lists, dictionaries, and classes; reinforce HTML and CSS basics, text editor and terminal skills, Git and GitHub basics, and Django setup.
set up a django development environment by installing python 3.10 or later, creating and activating a virtual environment, and using vs code with extensions for formatting and tag renaming.
Access the repo source code and resources from the resources tab, clone the GitHub project, set up a virtual environment, install requirements, and run the Django server to explore features.
activate virtual environment, install django, start a project with startproject, run server, migrate database, create an app with startapp, then configure settings, urls, and views.
Learn how Django routes URLs and connects views to templates, using path patterns, dynamic parameters, and app-level urls with include for clean, scalable full-stack web development.
Learn to render Django templates by configuring the templates directory, creating project templates, and using include and extends with block content for a reusable main layout.
Learn to render dynamic data in Django templates by passing context, using variables and template tags, looping through lists, and handling conditional logic with if, for, and url tags.
Explore Django migrations and the admin panel, create a super user, register models, and use UUID primary keys with char and text fields for a full stack site.
Explore database relationships in Django, including one-to-one, one-to-many, and many-to-many, with practical modeling, migrations, and admin integration for projects, reviews, and tags.
Explore Django data querying through model methods (all, get, filter, exclude) with advanced lookups (starts with, contains, icontains, gt, lt), CRUD operations and many-to-many relationships in views and templates.
Explore how to implement Django model forms to create, update, and delete projects, including templates, views, URLs, and CSRF protection for a full stack app.
Apply full crud in a Django app by creating, reading, updating, and deleting projects using model forms, post requests, and redirects, with templates and a delete confirmation flow.
Configure Django static files by creating a static folder, linking CSS and images with the static tag, and setting dirs in settings.py. Enable media uploads with media root and collectstatic.
Learn to install and integrate a Django project theme, apply mumble UI styles, connect static files, build dynamic project listings, and enhance forms.
Build a dedicated Django users app linking a profile model 1-to-1 with the built-in user, add templates, views, migrations, and admin registration, and integrate profile pages with the project app.
Create and render dynamic user profiles in a Django full-stack site by adding profiles page, profile and skill models, views, templates, and admin registration.
Learn how django signals use senders and receivers to trigger actions on save or delete, and auto-create a profile when a user is created.
Learn to implement Django user login and logout, distinguish authentication from authorization, manage sessions, and protect pages with login required, while using flash messages for feedback.
Create a Django user registration flow by reusing the login template, implementing a register view with a user creation form, and logging in the user after signup.
Style the login and register pages in a Django project with a pre-built theme. Integrate CSRF tokens, icons, background patterns, and UI kit alerts while refining templates and forms.
Build and customize a user account page in Django, enabling profile updates, skills management, and project listings with dynamic user data, using templates, views, and routing.
Build a Django user edit profile feature with a profile model form, updating name, email, username, and profile picture while syncing changes to the user via signals.
Link the create, update, and delete project views to the logged-in user's profile, associating each project with its owner. Ensure only the owner can edit or delete the project.
Learn how to add, edit, and delete skills in a Django full-stack app, including model forms, views, templates, and user-specific ownership.
Build and customize search forms for profiles and projects, filtering by name, description, skills, tags, and owner, using Q lookups and distinct to avoid duplicates, with utilities for reuse.
Learn how to implement Django pagination for project listings, including using the paginator, handling page not integer and empty page errors, building a rolling page range, and reusing pagination template.
Link search and pagination by auto-submitting the search form on page clicks, preserving the query in the URL with a hidden page input.
Implement a Django based review system where users upvote or downvote projects, optionally leave comments, enforce one review per project, and see anonymous votes with updated totals and ratios.
Build a Django inbox featuring a message model, inbox view, and admin tools to send, read, and track unread messages.
About this course
Ready to learn Django? In this course we will start from the very basics of what Django is to completing and deploying a fully functional, full stack website with the up to date version of Django 5.
The website we will build as we learn will be an online platform where developers from around the world can create a profile and share their work with others.
Who is this course for?
While this course is Beginner friendly, all skill levels can learn here. We won't just be learning the basics, we will be applying what we know to add awesome site features like messaging other users, leaving comments and rating projects and so much more. This course will leave all skill levels with a new load of knowledge and different approaches of completing tasks.
For those who are more advanced and maybe have already built out a few applications, you can simply skip through or fast-forward to get to the "good stuff". In the second half of the course we will work on a voting system, messaging, sending emails and even building out an API. Even if you have done these things already you can see a new approach and build an awesome website in the process.
What Will You Learn?
Setting up a Django Website
Views & URL's
Templates & Template Inheritance
Designing and Modeling data
Create Read Update Delete
Static Files
Installing Themes
Login & Registration
Search & Pagination
Building API's
Class Based Views
Deploying a website
*BONUS - Access to private Discord group
Build a REAL Project
We wont just be learning the basics, we will be applying what we know to add awesome site features like: messaging other users, leaving comments, rating projects and so much more.
Why Django?
Scale easily with Django for high traffic websites. This is one of its most popular features. Including built in tools to help you get your site to market fast.
Security is a priority when building any website. Django is used by top brands for this reason. It contains built in security features: SQL injection, cross-site request forgery, and cross-site scripting.
Easily customizable and versatile for any website and company size.
One of Djangos likable features is the community support. You can join forums and Facebook groups for connections and resources.
Django helped me build and sell my first website for $41k
I was searching for a Python framework that would help me build a lab management system (that I then sold to my boss - watch the full story on YouTube: Dennis Ivy - How I Sold My Python/Django Website for $41,000).
I started with Flask, but all it had was a server setup and everything else I would have to figure out on my own.
Then I discovered Django...
It provided me with ALL the tools. Everything from authentication to a templating engine to a great package for a rest API. Added bonus: they have great community support around it and great infrastructure.
I didn't have to worry that it wasn’t scalable,
If it was good enough for YouTube, Spotify, Instagram and all the behemoth of machines, I knew that it would never be an issue for me.
One of the best features about Django is that it has a built in dashboard. You can run one command and already start seeing your data and modify it.
This helped me get the site up and running quicker than expected.
F.A.Q
Q: Will I have support throughout this course?
A: Unfortunately, with over 50k students across all platforms and a full time job, the teacher cannot offer individual help beyond the course itself. You can join the Discord group for additional support from fellow students.
Q: Is the course up to date?
A: Yes this course is currently up to date and compatible with Django 5.0.
Q: Will I always have access to this course when I purchase it?
A: Yes this course will always be up and hosted on Udemy.