A Python Micro-Framework
Flask is a lightweight framework written in the Python programming language. It is easy to learn and simple to use, enabling you to create and build your own web applications in a short amount of time.
Flask: Easily Make Templates
Flask is a BSD licensed microframework for Python based on Werkzeug and Jinja 2. Flask saves time building web applications by using the flexible Python language to provide a simple template for web development. It is easy for beginners to pick up because there is relatively little boilerplate code required to get a simple application up and running.
Flask is considered more “Pythonic” than other Python microframeworks like Pyramid or Django because in most cases Flask web app code is more explicit. Flask does not bother preloading components where pre-existing third-party libraries provide common functions, but Flask supports various extensions that can add application features as if implemented in Flask itself.
There are Flask extensions for object-relational mappers, form validation, upload handling, several open authentication technologies, and much more. Flask’s motto, “Web development, one drop at a time,” is clearly appropriate and well-deserved.
Flask Gives You Many Options
“Micro” does not mean that Flask lacks functionality; nor does it mean that your entire web application must fit into a single Python file (although it is certainly possible to do so). The “micro” in microframework means that the core of Flask is simple but extensible, with little to no dependencies on external libraries.
As a lightweight web application framework, Flask is versatile and unrestricted, with a wide variety of options to explore. It does not push you into a corner by making all your development decisions for you, such as which database to use. Those selections that Flask does make, such as which templating engine to use, are easily changed. But everything else depends on your own personal preferences, so that in the words of Flask’s official Foreword “Flask can be everything you need and nothing you don’t.”
Flask: Well Documented, Testing Support, and More
From its official website, here are just a few reasons to consider opting for Flask:
- built in development server and debugger
- integrated unit testing support
- RESTful request dispatching
- uses Jinja2 templating
- support for secure cookies (client side sessions)
- 100% WSGI 1.0 compliant
- Unicode based
- extensively documented