[proxy] realpython.com← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light

Become a Python Web Developer (Learning Path) – Real Python

Real Python

Learning PathSkills: Web Development, Django, Flask, FastAPI, REST APIs

You’ll start with HTML and CSS foundations, then build web applications with three popular Python frameworks: FastAPI, Django, and Flask. Along the way, you’ll create REST APIs, work with JSON data, manage Django admin, and connect a JavaScript front end to a Flask API.

Become a Python Web Developer

Learning Path ⋅ 20 Resources

Web Foundations

Start with the building blocks of the web. You’ll learn HTML and CSS from a Python developer’s perspective, then explore how web frameworks organize code using the Model-View-Controller pattern.

Course

HTML and CSS Foundations for Python Developers

There's no way around HTML and CSS when you want to build web apps. Even if you're not aiming to become a web developer, knowing the basics of HTML and CSS will help you understand the Web better. In this video course, you'll get an introduction to HTML and CSS for Python programmers.

Building With FastAPI

Get started with FastAPI, a modern Python web framework. You’ll build web pages with HTML templates and create REST APIs.

Course

Start Building With FastAPI

Learn how to build APIs with FastAPI in Python, including Pydantic models, HTTP methods, CRUD operations, and interactive documentation.

Course

Python REST APIs With FastAPI

Learn the main concepts of FastAPI and how to use it to quickly create web APIs that implement best practices by default. By the end of it, you will be able to start creating production-ready web APIs.

Getting Started With Django

Learn Django, a full-featured web framework for building database-backed applications. You’ll start by building a portfolio app, then learn about migrations and more advanced Django features.

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.

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.

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.

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.

Django Admin and APIs

Learn how to manage users and customize Django’s admin interface. Then build HTTP APIs using Django REST Framework.

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.

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.

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.

Building With Flask

Build web applications and REST APIs with Flask. You’ll create a scalable project from scratch, then build a multi-part REST API with a JavaScript front end.

Course

Creating a Scalable Flask Web Application From Scratch

In this video course, you'll explore the process of creating a boilerplate for a Flask web project. It's a great starting point for any scalable Flask web app that you wish to develop in the future, from basic web pages to complex web applications.

Tutorial

Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 1

In this three-part tutorial series, you'll create a RESTful API from scratch to keep track of people and notes using the Flask web framework. You'll also test your API with Swagger UI API documentation. In part one, you'll build the foundation of your note-keeping app.

Tutorial

Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 2

In this three-part tutorial series, you'll create a RESTful API from scratch to keep track of people and notes using the Flask web framework. You'll also test your API with Swagger UI API documentation. In part two, you'll implement a SQLite database to store your data permanently.

Tutorial

Python REST APIs With Flask, Connexion, and SQLAlchemy – Part 3

In this three-part tutorial series, you'll create a RESTful API from scratch to keep track of people and notes using the Flask web framework. You'll also test your API with Swagger UI API documentation. In part three, you'll use SQLAlchemy to provide the functionality to add notes to a person.

Tutorial

Build a JavaScript Front End for a Flask API

Most modern websites are powered by a REST API. That way, you can separate the front-end code from the back-end logic, and users can interact with the interface dynamically. In this step-by-step tutorial, you'll learn how to build a single-page Flask web application with HTML, CSS, and JavaScript.

Working With Data on the Web

Learn how to work with JSON data and send emails from your Python applications. These are common tasks in web development that you’ll use across frameworks.

Course

Working With JSON in Python

Learn how to work with Python's built-in json module to serialize the data in your programs into JSON format. Then, you'll deserialize some JSON from an online API and convert it into Python objects.

Course

Sending Emails Using Python

Learn how to send emails using Python. Find out how to send plain-text and HTML messages, add files as attachments, and send personalized emails to multiple people. Later on you'll build a CSV-powered email sending script from scratch.

Congratulations on completing this learning path! You’ve built a solid foundation in Python web development across Django, Flask, and FastAPI, and you know how to create REST APIs and work with front-end technologies.

You might also be interested in these related learning paths:

Got feedback on this learning path?

« Browse All Learning Paths