
Discover Django 3, a balanced Python web framework that accelerates database work and authentication, with built-in clarity for customization, Git, deployment, and building three sites.
Kick off with a Python refresher to speed up Django development, covering Python basics step by step. Engage with quizzes to gauge progress and decide if you need more practice.
Verify you have Python 3.6 or higher on Mac, Linux, or Windows using the terminal or command prompt; if not, install the latest Python from python.org and recheck.
Learn to declare variables, work with integers and strings, and print outputs in Python using quotes (single or double), f-strings for interpolation, and basic terminal commands to run scripts.
Explore python if statements and booleans, including indentation and else branches, plus string comparisons, and learn about comments and multi-line comments with # and triple quotes.
Define and call Python functions with def and indentation, pass name and age parameters with defaults, format strings, and return results.
Explore Python lists, the ordered, zero-based collections that can hold multiple data types; create, index, insert at positions, delete items, and check length with practical examples.
Explore python loops by using for loops with lists and ranges, and while loops, to execute code repeatedly, print results, and understand iteration, zero-based indexing, and risks of infinite loops.
Master Python dictionaries by using curly brackets to map keys to values, access items with square brackets, update or delete entries like Fido or Sally, and handle mixed value types.
Explore how to define Python classes, create dog objects, and implement methods with self, including instance and class variables and a practical __init__ example.
Explore building a password generator in Django: set length and character types, generate random passwords on refresh, and learn how URL input flows into Django to render output.
Install Django using pip, explore the Django project on djangoproject.com, and create a new password_generator project with django-admin startproject on your desktop.
Launch the Django server with manage.py runserver to see your first homepage at localhost:8000, and learn how 127.0.0.1, port numbers, and keeping the server running affect testing.
In Django, a website is a project that contains apps, and this lecture demonstrates creating a password generator app, adding it to installed apps, and starting the server.
Discover how Django routes URLs by defining paths in urls.py, mapping to views, and returning http responses, with examples of the homepage, eggs page, and the admin path.
Learn how Django templates separate HTML from view logic, organize templates by app, and pass a password variable from views to home.html for dynamic rendering.
Create a password generator homepage with a length select and generate button, then route to a named url and render the password page using Django templates.
Generate a random password in a Django app by letting users choose length and character options (uppercase, lowercase, numbers, special). Render the result via the password view.
Learn how to read form data from the request in Django views to customize a random password by length and character types, using request.GET.get and default values.
Tackle a Django challenge by adding an about page, creating a new URL path, template, and view, and linking to the homepage with an a tag.
Develop an about page in a Django project by updating urls.py and views, creating about.html, and linking it from the home page to demonstrate full-stack routing and templates.
Explore how to integrate Bootstrap 4 to quickly style a web page, center content, and enhance a password generator with polished buttons, containers, alerts, and responsive layout.
Complete the first Django section by building a password generator, gaining intuition for URL routing, views, and templates, and explore Git, GitHub, and Bootstrap via the provided source code.
Learn the basics of Git, a version control tool that creates save points in your code and enables collaboration, with a quick guide to adding Git to your project.
Learn Git basics to create save points, stage and commit changes, view history with Git log, manage edits with stash and status, and push to GitHub via remotes like origin.
Build a Bootstrap-based, database-driven personal portfolio with an admin dashboard to manage projects and blog posts, upload images, and publish updates without touching code.
Create a new Django project named personal_portfolio, add blog and portfolio apps, rename the folder to personal_portfolio-project, update settings, and run the server to view the landing page.
Learn how Django models map Python classes to database tables and define fields like title, description, image, and URL, guiding migrations for portfolio projects.
Learn to access the Django admin, create a super user, register models in admin.py, and manage media with MEDIA_ROOT and MEDIA_URL, serving uploaded images from /media.
Learn to display project objects from the admin database on your Django homepage by wiring up URL, view, and template, then render project titles, descriptions, images, and optional URLs.
Forward blog requests from the project-level urls to the blog app using include, set up blog/urls.py with an all_blogs path, and render all_blogs.html to show all blogs.
Create a blog model in Django, register it with admin, migrate, and fetch all blog objects to display a list of blogs with title, description, and date in the template.
Identify static files as fixed site assets, set up a static folder in your app, and reference images or pdfs with the load static tag.
Build a dynamic blog detail page in Django by mapping /blog/<int:blog_id>/ to a detail view, using get_object_or_404, and rendering blog/detail.html.
Add a home link to the all blogs page and display a dynamic blog count with pluralization. Improve admin visibility by implementing __str__ for blog and project models.
Apply Bootstrap to build a Django full-stack portfolio by integrating base.html and blog templates with static assets, fonts, and a customized navbar.
Celebrate completing a Django second site by leveraging databases, models, admin, static and media files, templates, and URLs, then learn to upload and share your blog-ready web app.
Deploy your Django 3 portfolio to Python Anywhere by hosting on a remote server, linking GitHub, and using Git to clone your code into Python Anywhere's bash environment.
Learn to create and manage a Python virtual environment for Django projects, specify Python 3.8, install Django and Pillow with pip, and activate or deactivate the environment on Python Anywhere.
Learn how to deploy a Django app on PythonAnywhere by setting the project path, virtual environment, and wsgi, then adjust settings and allowed hosts and reload to run the site.
Create and use a Django gitignore to exclude pycache, sqlite3, media, and static files; follow a local-first workflow: edit locally, push to GitHub, then pull to the server.
Learn to deploy Django apps by using local_settings for local overrides and production settings, manage allowed hosts, and update live sites with git, requirements, migrations, and reloads on Python Anywhere.
Learn to attach a custom domain to your site by purchasing a domain and a python anywhere paid plan, then configure dns with a cname and enable https.
Build a secure, multi-user todo app with django 3 that supports user signup, authentication, per-user todos, adding, editing, completing, and deleting tasks, with privacy checks to prevent cross-user viewing.
Create a new Django project named to do woo, add an app called to do, enable django.contrib.auth in settings, run migrations, and prepare user signup features for the site.
Learn to implement a django sign-up flow by creating a signup URL, rendering a signup form with UserCreationForm, handling post requests, and using csrf protection.
Explain how get and post requests drive signup: render the form on get, create and save a user with Django's User model on post, checking password match.
Improve signup handling with a clear password mismatch message. Handle duplicate usernames with IntegrityError, log in the new user, and redirect to current todos.
Create a Django logout flow that logs out only on post, uses the logout function, CSRF protection, and redirects to the home page.
Learn to implement user login in Django 3 by wiring urls and views, using the authentication form, authenticate function, and proper error handling to securely verify usernames and passwords.
Define a Django todo model with title, memo, created timestamp, optional date completed, an important flag, and a user foreign key; then migrate and register it in admin.
Learn to let logged-in users create their own to-dos in Django by building a todo form, wiring urls and views, and assigning the user.
Build a user-specific to-do list in Django by querying the database, filtering by user and incomplete items, and rendering with a template that bolds important items and shows memos.
Learn to view and update a single to-do by primary key using get_object_or_404, a prefilled form, and a GET/POST handler with CSRF protection and user ownership checks.
Implement complete and delete actions for Django to-dos using post requests, URL routes, and views to set date completed or delete items, with templates featuring complete and delete buttons.
Build a Django 3 full-stack to-do app with a completed-todos view showing tasks by date completed, secured by login_required, with current, completed, and create pages.
Learn to style a Django 3 todowoo project by applying bootstrap visuals, swapping templates and static assets, and customizing a logo to create a polished interface.
Celebrate completing a Django project with login and sign-up authentication, objects display only to their owner who can complete, update, or delete them, then explore what's new in Django 3.
Explore what's new in Django 3, including the move from Python 2 to Python 3.6, the shift to ASGI for async capabilities, MariaDB support, and practical upgrade notes.
Finish this Django course by building your own project, explore the open sourced website and GitHub code, and deepen learning by googling solutions.
Have you ever wanted to create a Web application but didn't know where to start? Have you previously tried to learn Django but got fed up with incomplete YouTube videos and poorly written tutorials? Or are you looking to move your code from Django 2 to Django 3?
THEN THIS IS THE COURSE FOR YOU!
In my Django course, I will walk you through the Django web framework from beginning to end! I'm a self-taught programmer so I know what it feels like to start from scratch. I care about your learning, but even more importantly... I care about you!
What is Django?
Django is an open-source web framework that is written in Python. It was created about twelve years ago, but new in 2020 we have Django 3 with a whole new set of features and capabilities!
Django is an amazing framework for web developers because it provides the infrastructure required for database-driven websites that have user authentication, content administration, contact forms, file uploads, and more. Instead of creating all of these features from scratch, you can use the Django framework and utilize these components that are already built, and focus your time on developing your web app instead.
If you're going to be working with Python, especially for web applications or web design, you'll want to learn the Django framework. It will save you a ton of time!
Contents and Overview
I believe we learn best by doing. So, throughout this course you'll be presented with coding quizzes and challenges in order for you to test what you just learned. This format will allow you to actually learn Django and not just follow along like a robot ;)
We will use Python in this course, so if you have never used Python before, we will start with a python refresher to get you up to speed (no other python experience required).
We will then dive into making three complete websites:
1 - Password Generator: A simple website to create a random password with several options. You will learn how to:
Install Django
Create a new project
Work with Django's URL routing
Creating Templates
Submit and handle HTML form data
2 - Personal Portfolio: Create your own portfolio to show to potential employers showing off your resume, previous projects, and a fully functional blog. You will learn how to:
Add apps to your project
Work with models and databases (including SQLite)
Access the admin panel
Create super users
Make a responsive website with Bootstrap 4
Work with static and media files
Extending Templates
Formating dates and purals
3 - Todo Woo: A website where a user can sign up for an account, and fully manage a todo list with the ability to create, edit, and delete. You will learn how to:
Work with the authentication system (sign up, login, logout)
Create virtual environments
Establish model relationships
Require login for certain pages
Create a CRUD application (Create, Read, Update, Delete)
Queries and filters
Handling Errors
I will also walk you through Git, which is an awesome tool for developers that allows you to create multiple versions of your code. I'll explain why this is useful and help you understand why you should use it.
Additionally, I will show you how to take the projects that you made in this course and publish them live on the web through Python Anywhere. Like I said, I will take you from the very beginning to the very end!
Course material is regularly refreshed to include all of the newest updates and information. Additionally, I have made this course downloadable, so you can work through the class offline, making it as convenient as possible for you! Most instructors won't allow this, but I want you to be able to enjoy this course in whichever way is best for you :)
Don't waste your time scouring the internet and trying to piece together how to learn Django on your own. Invest in yourself, and allow me to teach you Django while having fun.
Don't take my word for it. See what my other students are saying!
"Amazing course to get into Django and web development! Nick is really engaging and enthusiastic and a joy to learn from!! He explains concepts clearly and teaches in ways that allow the student to easily recall the information." - Evv Erb
"I now work as a developer creating internal projects for our support team. Thanks!" - Johnathan
"Truly understands the concept of starting from the beginning. Great teacher and presenter." - Earl McAndrew
"I really loved the course. By going through the course, I actually made my own website and deployed it on a server." - Mrinal Shrivastava
"After buying 3 courses about django in Udemy. This is the only one I'm picking something up. Recommended." - Ruben
"Amazing teacher, very good and clear explanations very nice and helpful real life examples and projects" - Itay Galea
"Nick really goes the extra mile to ensuring a fantastic learning experience from beginning to end. I would recommend this course to anyone looking to get their python apps online quick and easy. You just became my favorite instructor :)" - Nur Roberts
Feel free to take a free preview of this course to see if it's a good fit for you. I am so confident that you will love my course, that I even offer a 100% 30-day money-back guarantee. You have nothing to lose, so come join me and let's get started!