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.

Content is being updated to Django 3.2+

The course content was originally written for Django 2.2 and Django 3.0. The changes since Django 3.0 are minor, so most of the course will still work fine on later versions of Django.

I am, however, giving the content a refresh and will mark each lesson as updated when I am done.

Also note that the tutorial contents were originally part of a paid course that I have now made free for everyone. Any references to the paid course in the content now refer to this course – you don’t need to pay :).

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.7 and Django 2.2 or Django 3 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.

Intro text TODO

Intro text TODO

Intro text TODO

Intro text TODO

Intro text TODO

Scroll to Top