Free Course Image Flask

Free online courseFlask

Duration of the online course: 8 hours and 50 minutes

New

Build real backend skills with this free Flask course: create templates, forms, databases, authentication, deployment, and HTTPS for production-ready apps.

In this free course, learn about

  • Build a Flask app: setup, routing, and the role of route decorators
  • Create Jinja2 templates and use template inheritance to avoid duplicate HTML
  • Handle forms and validation with Flask-WTF and user input processing
  • Model data with Flask-SQLAlchemy ORM and understand its benefits over raw SQL
  • Structure an app as a package using blueprints, config, and the factory pattern
  • Implement authentication with Flask-Login, including login_required route protection
  • Secure password storage using hashing and manage user accounts/profile pictures
  • Add CRUD for posts and protect create/update/delete actions by authorization
  • Paginate SQLAlchemy query results using paginate() for scalable listing pages
  • Implement email-based password resets using itsdangerous token generation/verification
  • Create custom error pages and robust error handling in Flask
  • Deploy on a Linux VPS with a production web server stack (e.g., Nginx + Gunicorn)
  • Configure a custom domain, understand WhoisGuard privacy, and set up HTTPS via Let's Encrypt

Course Description

Transform your Python knowledge into practical backend development by building a complete web application with Flask, one of the most popular microframeworks for creating fast, maintainable APIs and websites. This free online course guides you from the first project setup to a polished, deployable app, focusing on the workflow and decisions developers face in real projects. Along the way, you will learn how routing works and why decorators are central to clean, readable endpoints that scale as your application grows.

You will create dynamic pages with templates and build consistent layouts efficiently using template inheritance, an approach that reduces repetition and makes design changes easier to manage. As the project evolves, you will handle user input with robust form processing and validation, then persist data using Flask-SQLAlchemy, gaining the benefits of an ORM for clearer models and safer, more flexible database interactions. You will also adopt a healthier project organization by structuring the app as a package, preparing you for larger codebases, reuse, and better testing patterns.

Modern web apps require accounts, security, and user experiences that feel complete. You will implement authentication and protected routes, learn why password hashing is essential before saving credentials, and add user profile features such as account updates and profile images. You will also build core content functionality with create, update, and delete operations, and improve usability with pagination so large datasets stay fast and easy to browse. When users forget passwords, you will set up secure reset flows using token generation techniques that help keep account recovery safe.

To get your application production-ready, you will work with blueprints, configuration patterns, and an application factory approach that supports cleaner separation of features across a growing project. You will create custom error pages to improve reliability and user trust, then move beyond local development by deploying to a Linux server with a recommended web server setup and understanding why a virtual private server can be a strong choice for control and performance. Finally, you will connect a custom domain and secure your app with HTTPS using a free SSL/TLS certificate from a trusted service, ensuring your Flask project meets modern expectations for security and professionalism.

Course content

  • Video class: Python Flask Tutorial: Full-Featured Web App Part 1 - Getting Started 17m
  • Exercise: What is one purpose for using decorators with routes in a Flask application?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 2 - Templates 31m
  • Exercise: What problem does using template inheritance solve when building web applications with Flask?
  • Exercise: Which of the following is NOT a step when setting up templates in a Flask project?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 3 - Forms and User Input 48m
  • Exercise: Which Flask extension is most popular for working with forms and provides functionality such as form validation?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 4 - Database with Flask-SQLAlchemy 29m
  • Exercise: What is a benefit of using SQLAlchemy as discussed in the text?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 5 - Package Structure 20m
  • Exercise: Why is it beneficial to structure a Flask application as a package instead of running it as a module?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 6 - User Authentication 47m
  • Exercise: Which function is used to ensure that users are authenticated before accessing specific routes in a Flask application?
  • Exercise: When building a user registration and login system in Flask, why is it important to hash passwords before storing them in the database?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 7 - User Account and Profile Picture 42m
  • Exercise: Which of the following actions can a user perform on the user account page as described in the provided text?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 8 - Create, Update, and Delete Posts 48m
  • Exercise: In a Flask application, what is the purpose of the 'login_required' decorator?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 9 - Pagination 31m
  • Exercise: In a Flask web application using SQLAlchemy, which method is used to break down a large set of database results into smaller, more manageable pages?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 10 - Email and Password Reset 42m
  • Exercise: What is the primary purpose of using the 'itsdangerous' package in the context of secure email token generation?
  • Exercise: What is the purpose of using the 'it's dangerous' package in a Flask application for password reset functionality?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 11 - Blueprints and Configuration 42m
  • Exercise: What is an advantage of using the application factory pattern in Flask?
  • Video class: Python Flask Tutorial: Full-Featured Web App Part 12 - Custom Error Pages 12m
  • Video class: Python Flask Tutorial: Deploying Your Application (Option #1) - Deploy to a Linux Server 1h15m
  • Exercise: When deploying a Flask application on your own Linux server, which of the following web server setups is recommended to use with Flask?
  • Exercise: What is the primary advantage of using a virtual private server for deploying a Flask application?
  • Video class: Python Flask Tutorial: How to Use a Custom Domain Name for Our Application 24m
  • Exercise: What is the purpose of using 'WhoisGuard' when buying a domain?
  • Video class: Python Flask Tutorial: How to enable HTTPS with a free SSL/TLS Certificate using Let's Encrypt 17m
  • Exercise: What service can be used to secure a website with HTTPS?

This free course includes:

8 hours and 50 minutes of online video course

Digital certificate of course completion (Free)

Exercises to train your knowledge

100% free, from content to certificate

Ready to get started?Download the app and get started today.

Install the app now

to access the course
Icon representing technology and business courses

Over 5,000 free courses

Programming, English, Digital Marketing and much more! Learn whatever you want, for free.

Calendar icon with target representing study planning

Study plan with AI

Our app's Artificial Intelligence can create a study schedule for the course you choose.

Professional icon representing career and business

From zero to professional success

Improve your resume with our free Certificate and then use our Artificial Intelligence to find your dream job.

You can also use the QR Code or the links below.

QR Code - Download Cursa - Online Courses

More free courses at Backend development

Free Ebook + Audiobooks! Learn by listening or reading!

Download the App now to have access to + 5000 free courses, exercises, certificates and lots of content without paying anything!

  • 100% free online courses from start to finish

    Thousands of online courses in video, ebooks and audiobooks.

  • More than 60 thousand free exercises

    To test your knowledge during online courses

  • Valid free Digital Certificate with QR Code

    Generated directly from your cell phone's photo gallery and sent to your email

Cursa app on the ebook screen, the video course screen and the course exercises screen, plus the course completion certificate