Dive into the world of the Flask microframework to develop an array of web applications
About This Book
Structure, compose, and build powerful Flask HTML-based applications and JSON/XML-based APIs using advanced application design patterns
Integrate third-party Flask extensions for tasks such as social authentication, sending emails, and interacting with databases and cache layers
Build a series of Flask applications of increasing complexity
Who This Book Is For
If you are a Python web developer who has developed basic Flask applications and now wants to build a series of more complex web applications, then this is the book for you.
What You Will Learn
Use the virtualenv Python package to effectively isolate your development environments
Convert a simple one-file Flask application into a more full-fledged multi-package application
Integrate Flask-Login for simple user authentication, Flask-WTF for forms, and Flask-SQLAlchemy for database interactions
Explore URL routing and dispatching in a blueprint structured application
Create your own signals and consume them within your application
Learn to leverage Werkzeug, the WSGI library that powers much of Flask
Implement custom exceptions for handling non-20x response codes
Write your own CLI tools for administrative and development tasks of your Flask application using Flask-Script/Click
Build your Flask extensions to encapsulate reusable behaviors across your applications
Flask is a small but powerful web development framework for Python. Though Flask is termed a micro-framework, it is no way lacking in functionality; there are many extensions available to Flask which helps it to function at the same level as other large frameworks such as Django and Ruby on Rails.
This book will demonstrate how to develop a series of web application projects with the Python web micro-framework, and leverage extensions and external Python libraries and APIs to extend the development of a variety of larger and more complex web applications.
The book will start by explaining Python's Virtualenv library and how to create and switch between multiple virtual environments. You'll first build an SQL database-backed application, which will use Flask-WTF, Flask-SQLAlchemy, Jinja templates, and other methods. Next you'll move on to a timeline application, built using concepts including pytest-Flask, the Blinker package, data modelling for user timelines, exception handling, and creating and organizing CLI tools.
Moving on, you'll discover how to implement a photo timeline application where you'll explore topics such as writing and running celery tasks, API error handling and testing, and Werkzeug middlewares.
Finally, the book walks you through creating an application which fetches data from GitHub and stores it locally. You will also learn how to install and configure Flask-Click extension.
Style and approach
This book covers how to effectively use the Flask micro-framework to develop a series of web applications. Each chapter focusses on the development of an application increasing in complexity with easy steps to follow.