Welcome to Flask
Welcome to Flask’s documentation. Get started with Installation and then get an overview with the Quickstart. There is also a more detailed Tutorial that shows how to create a small but complete application with Flask. Common patterns are described in the Patterns for Flask section. The rest of the docs describe each component of Flask in detail, with a full reference in the API section.
Flask depends on the Jinja template engine and the Werkzeug WSGI toolkit. The documentation for these libraries can be found at:
User’s Guide
This part of the documentation, which is mostly prose, begins with some background information about Flask, then focuses on step-by-step instructions for web development with Flask.
- Foreword
- Foreword for Experienced Programmers
- Installation
- Quickstart
- Tutorial
- Templates
- Testing Flask Applications
- Handling Application Errors
- Debugging Application Errors
- Logging
- Configuration Handling
- Signals
- Pluggable Views
- The Application Context
- The Request Context
- Modular Applications with Blueprints
- Extensions
- Command Line Interface
- Development Server
- Working with the Shell
- Patterns for Flask
- Large Applications as Packages
- Application Factories
- Application Dispatching
- Using URL Processors
- Deploying with Setuptools
- Deploying with Fabric
- Using SQLite 3 with Flask
- SQLAlchemy in Flask
- Uploading Files
- Caching
- View Decorators
- Form Validation with WTForms
- Template Inheritance
- Message Flashing
- JavaScript, fetch, and JSON
- Lazily Loading Views
- MongoDB with MongoEngine
- Adding a favicon
- Streaming Contents
- Deferred Request Callbacks
- Adding HTTP Method Overrides
- Request Content Checksums
- Celery Background Tasks
- Subclassing Flask
- Single-Page Applications
- Deploying to Production
- Using async and await
API Reference
If you are looking for information on a specific function, class or method, this part of the documentation is for you.
- API
- Application Object
- Blueprint Objects
- Incoming Request Data
- Response Objects
- Sessions
- Session Interface
- Test Client
- Test CLI Runner
- Application Globals
- Useful Functions and Classes
- Message Flashing
- JSON Support
- Template Rendering
- Configuration
- Stream Helpers
- Useful Internals
- Signals
- Class-Based Views
- URL Route Registrations
- View Function Options
- Command Line Interface
Additional Notes
Design notes, legal information and changelog are here for the interested.
- Design Decisions in Flask
- HTML/XHTML FAQ
- Security Considerations
- Flask Extension Development
- How to contribute to Flask
- License
- Changes
- Version 2.1.3
- Version 2.1.2
- Version 2.1.1
- Version 2.1.0
- Version 2.0.3
- Version 2.0.2
- Version 2.0.1
- Version 2.0.0
- Version 1.1.4
- Version 1.1.3
- Version 1.1.2
- Version 1.1.1
- Version 1.1.0
- Version 1.0.4
- Version 1.0.3
- Version 1.0.2
- Version 1.0.1
- Version 1.0
- Version 0.12.5
- Version 0.12.4
- Version 0.12.3
- Version 0.12.2
- Version 0.12.1
- Version 0.12
- Version 0.11.1
- Version 0.11
- Version 0.10.1
- Version 0.10
- Version 0.9
- Version 0.8.1
- Version 0.8
- Version 0.7.2
- Version 0.7.1
- Version 0.7
- Version 0.6.1
- Version 0.6
- Version 0.5.2
- Version 0.5.1
- Version 0.5
- Version 0.4
- Version 0.3.1
- Version 0.3
- Version 0.2
- Version 0.1