Django Tutorial for Beginners

In this full beginner’s tutorial for Django, I am going to teach you exactly what you need to get started writing your own Django applications.

The tutorial assumes you know a little bit about programming but nothing about Django.

Each lesson is a complete lesson on each of the major parts of Django, with a HD video and full-text transcript of the lesson. You can also download the full source from here.

There’s no signup – just select the lesson you want from the table of contents below.

It is best you got through the tutorial in order the first time, but you can also refer back to the lessons at any time to refresh your memory.

Don’t forget to bookmark this page so you can come back to the course at any time.

Django is not the outcome of an academic exercise, or the brainchild of a developer who thought they could do things better. Django was created in a newsroom environment where “today” is much more important than “clever”.

In this first Django tutorial, learn the top 10 reasons why Django has established itself as the leading Python framework for developing scalable, secure and maintainable web applications.

In the second tutorial, I explain how Django works at a high level.

Django is a large, complex project that can be difficult to grasp piecemeal. Taking the time to understand at a high level how those many parts come together makes the journey to becoming a competent Django programmer much easier.

In the third Django tutorial, we’re going to install Python 3.9 and Django 3.2 or Django 4 using my super fast and easy Python and Django installation process. Be up and running with Django in 10 minutes!

Apps are one of Django’s killer features. Not only do they allow you to add functionality to a Django project without interfering with other parts of the website, but apps are designed to be portable, so you can use one app in multiple projects.

In the fourth tutorial, we’re going to put together the pages app that will show the pages of your website dynamically to the web browser.

A Django model is a data object that maps your app’s data to the database without you having to know SQL, or how the underlying database structures your data.

In this Django tutorial, we’re going to build the Page model that will hold the page data for your website.

In this tutorial, we’re going to create a set of parent and child templates for the site and for the pages shown on the site. You’ll learn how to create real templates, with images and CSS, rather than the usual text and snippets you see in other tutorials.

In this next tutorial of the series, you’re going to learn how to take advantage of Django’s dynamic views and build a page view and navigation that will automatically show your site pages – whether you have one page, or one thousand.

We’ll also cover site adding site tweaks like page titles, publication dates and generating navigation menu’s on the fly. I will also show you a handy trick for testing your views and the request/response cycle.

HTML forms are a core component of modern websites. In this tutorial, we’re going to create a contact form for your website that collects contact data and send it in an email.

In this tutorial, we’re going to use Django’s form class to build a more complex form that collects data from the user and saves it to the database.

Django’s generic class-based views can do a lot of the heavy lifting in your Django apps. In this tutorial, we’re going to dive into generic list and detail views to display model data in the front end of your website.

Managing users is a critical component of any modern website. In this tutorial you’re going to learn how to manage users in the admin, add user permissions and groups, manage users in the front end, and add user registration forms to your website.

In the final tutorial of the series, you are going to go live with your masterpiece and deploy your website to PythonAnywhere.

Scroll to Top