Book Image

Flask Framework Cookbook - Third Edition

By : Shalabh Aggarwal
4.3 (4)
Book Image

Flask Framework Cookbook - Third Edition

4.3 (4)
By: Shalabh Aggarwal

Overview of this book

Discover what makes Flask, the lightweight Python web framework, popular, as you delve into its modular design that enables the development of scalable web apps. With this practical 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, this third edition of the Flask Framework Cookbook moves away from the outdated libraries, updates content to incorporate new coding patterns, and introduces recipes for the latest tools. You'll explore different ways to integrate with GPT to build AI-ready Flask applications. The book starts with an exploration of Flask application configurations and then guides you through working with templates and understanding the ORM and view layers. You’ll also be able to write an admin interface and get to grips with testing using the factory pattern, debugging, and logging errors. Then you’ll discover different ways of using Flask to create, deploy, and manage microservices using AWS, GCP, and Kubernetes. Finally, you’ll gain insights into various deployment and post-deployment techniques for platforms such as Apache, Tornado, and Datadog. By the end of this book, you'll have acquired the knowledge necessary to write Flask applications that cater to a wide range of use cases in the best possible way and scale them using standard industry practices.
Table of Contents (20 chapters)
1
Part 1: Flask Fundamentals
6
Part 2: Flask Deep Dive
12
Part 3: Advanced Flask

Adding a new language

By default, English is the language for applications built in Flask (and almost all web frameworks). In this recipe, we will add a second language to our application and add some translations for the display strings used in the application. The language displayed to the user will vary depending on the language that is currently set in the browser.

Getting ready

We will start with the installation of the Flask-Babel extension:

$ pip install Flask-Babel

This extension uses Babel and pytz to add i18n and l10n support to the application.

We will use our catalog application from Chapter 5, Web Forms with WTForms.

How to do it...

We will use French as the second language. Follow these steps to achieve this:

  1. Start with the configuration part by creating an instance of the Babel class, using the app object in my_app/__init__.py. We will also specify all the languages that will be available here:
    from flask import request
    from flask_babel import...