Skip to content
- Why web frameworks are needed
- Overview of available Python web frameworks
- Installation of Flask
- Routing requests to view functions
- Serving static files
- Rendering templates with Jinja2
- Loops and conditionals
- Template inheritance
- Macros in templates
- Flat pages with Flask-Flatpages
- HTML5 Boilerplate as a starting point
- Producing JSON
- Issuing redirects
- Application context and Request context
- Dealing with file uploads with Flask-Uploads
- Structuring a complex application: how to avoid circular imports
- Structuring a complex application: Blueprints
- Commonly used ORMs: SQLAlchemy and Peewee
- Database migrations
- Form validation with WTForms and Flask-WTF
- Sending email with Flask-Mail
- User session management with Flask-Login and Flask-User
- The admin interface created by Flask-Admin
- Internationalization with Flask-BabelEx
- Preprocessing of frontend files with Flask-lesscss and Flask-Assets
- Deploying Flask applications into production