Welcome to Flask¶
Welcome to Flask’s documentation. Flask is a lightweight WSGI web application framework.It is designed to make getting started quick and easy, with the ability to scale up tocomplex applications.
Get started withInstallationand then get an overview with theQuickstart. There is also amore detailedTutorial that shows how to create a small butcomplete application with Flask. Common patterns are described in thePatterns for Flask section. The rest of the docs describe eachcomponent of Flask in detail, with a full reference in theAPIsection.
Flask depends on theWerkzeug WSGI toolkit, theJinja template engine, and theClick CLI toolkit. Be sure to check their documentation as well as Flask’s whenlooking for information.
User’s Guide¶
Flask provides configuration and conventions, with sensible defaults, to get started.This section of the documentation explains the different parts of the Flask frameworkand how they can be used, customized, and extended. Beyond Flask itself, look forcommunity-maintained extensions to add even more functionality.
- Installation
- Quickstart
- Tutorial
- Templates
- Testing Flask Applications
- Handling Application Errors
- Debugging Application Errors
- Logging
- Configuration Handling
- Signals
- Class-based Views
- Application Structure and Lifecycle
- 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
- 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
- Background Tasks with Celery
- Subclassing Flask
- Single-Page Applications
- Security Considerations
- Deploying to Production
- Using
asyncandawait
API Reference¶
If you are looking for information on a specific function, class ormethod, 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 Decisions in Flask
- Flask Extension Development
- Contributing
- BSD-3-Clause License
- Changes
- Version 3.1.2
- Version 3.1.1
- Version 3.1.0
- Version 3.0.3
- Version 3.0.2
- Version 3.0.1
- Version 3.0.0
- Version 2.3.3
- Version 2.3.2
- Version 2.3.1
- Version 2.3.0
- Version 2.2.5
- Version 2.2.4
- Version 2.2.3
- Version 2.2.2
- Version 2.2.1
- Version 2.2.0
- 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