Overview
This practical course is addressed to Python developers that want to create and maintain their first web applications. It is also addressed to people who are already familiar with other web frameworks such as Django or Web2py, and want to learn how using a microframework (i.e. a framework which glues together third-party libraries instead of providing a self-contained universal solution) changes the process.
A significant part of the course is devoted not to Flask itself (it’s tiny), but to third-party libraries and tools often used in Flask projects.
Requirements
Python, HTML
Course Outline
- 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