Learn to build modern, secure, highly available web MVC applications and API's using Python`s Flask framework.
- Create production-ready MVC and REST API with the dynamic features of Flask
- Utilize the various extensions like Flask-JWT and Flask-SQLAlchemy to develop powerful applications
- Deploy your flask application on real-world platforms like AWS and Heroku on VM's or Docker containers
Flask is a popular Python framework known for its lightweight and modular design. Mastering Flask Web Development will take you on a complete tour of the Flask environment and teach you how to build a production-ready application.
You'll begin by learning about the installation of Flask and basic concepts such as MVC and accessing a database using an ORM. You will learn how to structure your application so that it can scale to any size with the help of Flask Blueprints. You'll then learn how to use Jinja2 templates with a high level of expertise. You will also learn how to develop with SQL or NoSQL databases, and how to develop REST APIs and JWT authentication. Next, you'll move on to build role-based access security and authentication using LDAP, OAuth, OpenID, and database. Also learn how to create asynchronous tasks that can scale to any load using Celery and RabbitMQ or Redis. You will also be introduced to a wide range of Flask extensions to leverage technologies such as cache, localization, and debugging. You will learn how to build your own Flask extensions, how to write tests, and how to get test coverage reports. Finally, you will learn how to deploy your application on Heroku and AWS using various technologies, such as Docker, CloudFormation, and Elastic Beanstalk, and will also learn how to develop Jenkins pipelines to build, test, and deploy applications.
What you will learn
- Develop a Flask extension using best practices
- Implement various authentication methods: LDAP, JWT, Database, OAuth, and OpenID
- Learn how to develop role-based access security and become an expert on Jinja2 templates
- Build tests for your applications and APIs
- Install and configure a distributed task queue using Celery and RabbitMQ
- Develop RESTful APIs and secure REST API's
- Deploy highly available applications that scale on Heroku and AWS using Docker or VMs
Who this book is for
The ideal target audience for this book would be Python developers who want to use Flask and its advanced features to create Enterprise grade and lightweight applications. The book is for those who have some exposure of Flask and want to take it from introductory to master level.
Table of Contents
- Getting Started
- Creating Models with SQLAlchemy
- Creating Views with Templates
- Creating Controllers with Blueprints
- Advanced Application Structure
- Securing Your App
- Using NoSQL with Flask
- Building RESTful APIs
- Creating Asynchronous Tasks with Celery
- Useful Flask Extensions
- Building Your Own Extension
- Testing Flask Apps
- Deploying Flask Apps