Become a Python Web Developer
Learning Path ⋅ Skills: 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.
Tutorial
Model-View-Controller (MVC) in Python Web Apps: Explained With Lego
This tutorial conceptually explains the Model-View-Controller (MVC) pattern in Python web apps using Lego bricks. Finally understand this important architecture to streamline your web development process.
Interactive Quiz
Model-View-Controller (MVC) in Python Web Apps: Explained With Lego
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.
Interactive Quiz
Get Started With FastAPI
Tutorial
How to Serve a Website With FastAPI Using HTML and Jinja2
Use FastAPI to render Jinja2 templates and serve dynamic sites with HTML, CSS, and JavaScript, then add a color picker that copies hex codes.
Interactive Quiz
How to Serve a Website With FastAPI Using HTML and Jinja2
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.
Interactive Quiz
A Close Look at a FastAPI Example Application
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.
Interactive Quiz
Get Started With Django: Build a Portfolio App
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
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.
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.
Interactive Quiz
Build a Scalable Flask Web Project From Scratch
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.
Interactive Quiz
Working With JSON Data in Python
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?
Looking for real-time conversation? Visit the Real Python Community Chat or join the next “Office Hours” Live Q&A Session. Happy Pythoning!