Gain expertise in Flask to create dynamic and powerful web applications
About This Book
- Work with scalable Flask application structures to create complex web apps
- Discover the most powerful Flask extensions and learn how to create one
- Deploy your application to real-world platforms using this step-by-step guide
Who This Book Is For
If you are a Flask user who knows the basics of the library and how to create basic web pages with HTML and CSS, and you want to take your applications to the next level, this is the book for you. Harnessing the full power of Flask will allow you to create complex web applications with ease.
What You Will Learn
- Set up a best practices Python environment
- Use SQLAlchemy to programmatically query a database
- Develop templates in Jinja
- Set up an MVC environment for Flask
- Discover NoSQL, when to use it, when not to, and how to use it
- Develop a custom Flask extension
- Use Celery to create asynchronous tasks
In Detail
Flask is a library that allows programmers to create web applications in Python. Flask is a micro-framework that boasts a low learning curve, a large community, and the power to create complex web apps. However, Flask is easy to learn but difficult to master.
Starting from a simple Flask app, this book will walk through advanced topics while providing practical examples of the lessons learned. After building a simple Flask app, a proper app structure is demonstrated by transforming the app to use a Model-View-Controller (MVC) architecture. With a scalable structure in hand, the next chapters use Flask extensions to provide extra functionality to the app, including user login and registration, NoSQL querying, a REST API, an admin interface, and more. Next, you’ll discover how to use unit testing to take the guesswork away from making sure the code is performing as it should. The book closes with a discussion of the different platforms that are available to deploy a Flask app on, the pros and cons of each one, and how to deploy on each one.
Style and approach
With plenty of useful examples, this guide introduces new concepts and then shows you how those concepts can be used in a real-world environment. Most sections are based around a single example app that is developed throughout the book.