Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries. It has no database abstraction layer, form validation, or any other components where pre-existing third-party libraries provide common functions. However, Flask supports extensions that can add application features as if they were implemented in Flask itself. Extensions exist for object-relational mappers, form validation, upload handling, various open authentication technologies and several common framework related tools. Extensions are updated far more regularly than the core Flask program.
Applications that use the Flask framework include Pinterest, LinkedIn, and the community web page for Flask itself.
Video Flask (web framework)
History
In 2004, Pocoo was formed as an international group of Python enthusiasts. Flask was created by Armin Ronacher of Pocoo:
"It came out of an April Fool's joke but proved popular enough to make into a serious application in its own right."
When Ronacher and Georg Brandl created a bulletin board system written in Python, the Pocoo projects Werkzeug and the Jinja2 were developed, too.
Despite the lack of a major release, Flask has become extremely popular among Python enthusiasts. As of mid 2016, it was the most popular Python web development framework on GitHub.
Maps Flask (web framework)
Components
The microframework Flask is based on the Pocoo projects Werkzeug and Jinja2.
- Werkzeug
Werkzeug is a utility library for the Python programming language, in other words a toolkit for Web Server Gateway Interface (WSGI) applications, and is licensed under a BSD License. Werkzeug can realize software objects for request, response, and utility functions. It can be used to build a custom software framework on top of it and supports Python 2.6, 2.7 and 3.3.
- Jinja
Jinja is a template engine for the Python programming language and is licensed under a BSD License also by Ronacher. Similar to the Django web framework, furthermore it provides that templates are evaluated in a sandbox.
Features
- Contains development server and debugger
- Integrated support for unit testing
- RESTful request dispatching
- Uses Jinja2 templating
- Support for secure cookies (client side sessions)
- 100% WSGI 1.0 compliant
- Unicode-based
- Extensive documentation
- Google App Engine compatibility
- Extensions available to enhance features desired
Example
The following code shows a simple web application that prints "Hello World!":
See also
- Comparison of web frameworks
References
External links
- Official website
- Flask for beginners
Source of article : Wikipedia