Build state-of-the-art web applications quickly and efficiently using Flask 2.x and related technologies with Python 3
Key Features
- Updated to latest versions of Flask and Python along with the latest popular trends on building Microservices using Flask
- Get the most out of the powerful Flask framework and maintain the flexibility of your design choices
- Write cleaner, testable and maintainable code with the help of sample apps
Book Description
Flask, the lightweight Python web framework, is popular due to its powerful modular design that lets you build scalable web apps. With this recipe-based guide, you'll explore modern solutions, recommended design patterns and best practices for Flask web development.
Updated to the latest version of Flask and Python 3, this third edition of Flask Framework Cookbook moves away from some of the old and obsolete libraries, updates almost all content to use the new coding patterns and introduces some recipes on the latest tools in the market. You'll discover different ways of using Flask to create, deploy, and manage microservices using AWS, GCP and Kubernetes. This Flask Python book starts by covering the different configurations that a Flask application can make use of, and then helps you work with templates and learn about the ORM and view layers. You'll also be able to write an admin interface and get to grips with testing using factory pattern, debugging and logging errors. Finally, you'll grasp a variety of deployment and post-deployment techniques for platforms such as Apache, Tornado, and Heroku.
By the end of this book, you'll have gained all the knowledge you need to write Flask applications to suit most use cases in the best possible way and scale them using standard industry practices.
What you will learn
- Explore web application development in Flask, right from installation to post-deployment stages
- Make use of advanced templating and data modeling techniques
- Discover effective debugging, logging, and error handling techniques in Flask
- Learn about working with different types of databases both RDBMS and NoSQL
- Integrate Flask with different technologies such as Redis, Sentry, and Datadog
- Deploy and package Flask applications with Docker and Kubernetes
- Design scalable microservice architecture using AWS Lambda
- Continuous integration and Continuous deployment
Who This Book Is For
If you are a web developer who wants to learn more about developing scalable and production-ready applications in Flask, this is the book for you. You'll also find this book useful if you are already aware of Flask's major extensions and want to use them for better application development. This book can also come handy if you quickly want to refer to any specific topic on Flask, any of its popular extensions or some specific use cases. Basic Python programming experience along with some understanding of web development and related terminology is assumed.
Table of Contents
- Flask Configurations
- Templating with Jinja
- Data Modeling in Flask
- Working with Views
- Webforms with WTForms
- Authenticating in Flask
- RESTful API Building
- Admin Interface for Flask Apps
- Internationalization and Localization
- Debugging, Error Handling, and Testing
- Deployment and Post-Deployment
- Microservices and Containers
- Other Tips and Tricks
Shalabh Aggarwal is a seasoned engineering leader who develops and manages enterprise systems and web and mobile applications for small- and large-scale organizations. He started his career working with Python, and although he now works on multiple technologies, he remains a Python developer at heart. He is passionate about open source technologies and writes highly readable and high-quality code. Throughout his career, he has built software products and engineering teams for companies moving from 0 to 1, 1 to 10, and 10 to 100 levels. He is also active in voluntary training for engineering students and young engineers on non-conventional and open source topics. When not working with full-time assignments, he consults for start-ups on starting or scaling up while leveraging different technologies. When not writing code, he dedicates his time to his young kid and occasional travels.