Django for Web Development

Learning PathSkills: Django, Web Development, Projects

A person in a cowboy outfit working on a computer and saying "Django", while a rocket is taking off to their right

In this learning path, you’ll get started with Django and build projects along the way. Django is a high-level web application framework with loads of features. It’s great for anyone new to web development in Python because of its fantastic documentation.

Django for Web Development

Learning Path ⋅ 16 Resources

Title image for Getting Started With Django: Building a Portfolio App (Get Started With Django Part 1: Build a Portfolio App)

Course

Getting Started With Django: Building a Portfolio App

Learn the basics of creating powerful web applications with Django, a Python web framework. You'll build a portfolio website to showcase your web development projects, complete with a fully functioning blog.

Title image for Building a Django User Management System (Get Started With Django Part 2: Django User Management)

Course

Building a Django User Management System

Learn how to extend your Django application with a user management system, complete with email sending and third-party authentication.

Title image for Django View Authorization: Restricting Access (Get Started With Django Part 3: Django View Authorization)

Course

Django View Authorization: Restricting Access

This course covers how to restrict your web pages to users with different roles through Django view authorization. You'll learn about HttpRequest.user objects, decorators that authenticate views, and ways to notify your users with the Django messages framework.

Title image for Structuring a Python Application (Python Application Layouts and Project Structures)

Course

Structuring a Python Application

This course is a reference guide to common Python application layouts and project structures for command-line applications, web applications, and more.

Title image for Django Migrations 101 (Django Migrations: A Primer)

Course

Django Migrations 101

With this course you’ll get comfortable with Django migrations and learn how to create database tables without writing any SQL, how to automatically modify your database after you changed your models, and how to revert changes made to your database.

Title image for Digging Deeper Into Django Migrations (Django Migrations: A Primer)

Tutorial

Digging Deeper Into Django Migrations

In this step-by-step Python tutorial, you'll not only take a closer look at the new Django migrations system that is integrated into Django but also walk through the migration files themselves.

Title image for Build a Location-Based Web App With Django and GeoDjango (Make a Location-Based Web App With Django and GeoDjango)

Course

Build a Location-Based Web App With Django and GeoDjango

Learn how to use Django and GeoDjango to build a location-based web application from scratch. You’ll be building a simple nearby shops application that lists the shops closest to a user’s location.

Title image for How to Provide Test Fixtures for Django Models in Pytest (How to Provide Test Fixtures for Django Models in Pytest)

Tutorial

How to Provide Test Fixtures for Django Models in Pytest

Learn how to use fixtures to simplify your testing in pytest. If you use Django, pytest fixtures can help you write tests that are painless to update and maintain even as you make changes to your models.

Title image for Django Redirects (Django Redirects Tutorial)

Course

Django Redirects

Learn everything you need to know about HTTP redirects in Django. All the way from the low-level details of the HTTP protocol to the high-level way of dealing with them in Django.

Title image for Modeling Polymorphism in Django With Python (Modeling Polymorphism in Django With Python)

Tutorial

Modeling Polymorphism in Django With Python

Modeling polymorphism in relational databases can be a challenging task, but in this article, you'll learn several modeling techniques to represent polymorphic objects in a relational database using the Django object-relational mapping (ORM).

Title image for What You Need to Know to Manage Users in Django Admin (What You Need to Know to Manage Users in Django Admin)

Tutorial

What You Need to Know to Manage Users in Django Admin

Learn what you need to know to manage users in Django admin. Out of the box, Django admin doesn't enforce special restrictions on the user admin. This can lead to dangerous scenarios that might compromise your system.

Title image for Django Admin Customization (Customize the Django Admin With Python)

Course

Django Admin Customization

Learn how to customize Django's admin with Python. You'll use AdminModel objects to add display columns, calculate values, link to referring objects, and search and filter results. You'll also use template overriding to gain full control over the admin's HTML.

Title image for How to Create an Index in Django Without Downtime (How to Create an Index in Django Without Downtime)

Tutorial

How to Create an Index in Django Without Downtime

Get a solid understanding of the limitations of Django migrations by tackling a well known problem: creating an index in Django with no downtime.

Title image for How to Write an Installable Django App (How to Write an Installable Django App)

Tutorial

How to Write an Installable Django App

Learn how to create an installable Django app. You'll cover everything you need to know, from extracting your app from a Django project to turning it into a package that's available on PyPI and installable through pip.

Title image for How to Move a Django Model to Another App (How to Move a Django Model to Another App)

Tutorial

How to Move a Django Model to Another App

Learn how to move a Django model from one app to another using Django migrations. You'll explore three different techniques and learn some helpful guidelines for choosing the best approach for your situation and needs.

Title image for Building HTTP APIs With Django REST Framework (Python Django Tutorials Artwork)

Course

Building HTTP APIs With Django REST Framework

This course will get you ready to build HTTP APIs with Django REST Framework. The Django REST framework (DRF) is a toolkit built on top of the Django web framework that reduces the amount of code you need to write to create REST interfaces.

Got feedback on this learning path?

Looking for real-time conversation? Visit the Real Python Community Chat or join the next “Office Hours” Live Q&A Session. Happy Pythoning!

« Browse All Learning Paths