Jump to content

Flask (web framework)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Peterl (talk | contribs) at 09:41, 28 November 2016 (History: Covered in the info box). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Flask
Developer(s)Armin Ronacher
Initial releaseApril 1, 2010; 14 years ago (2010-04-01)
Stable release
0.11.1 / June 7, 2016; 8 years ago (2016-06-07)[1]
Repository
Written inPython
Operating systemCross-platform
TypeWeb framework
LicenseBSD
Websiteflask.palletsprojects.com Edit this at Wikidata

Flask is a micro web framework written in Python and based on the Werkzeug toolkit and Jinja2 template engine. It is BSD licensed.

The latest stable version of Flask is 0.11 as of June 2016.[2] Applications that use the Flask framework include Pinterest,[3] LinkedIn,[4] and the community web page for Flask itself.[5]

Flask is called a micro framework because it does not require particular tools or libraries.[6] 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.[7]

History

In 2004, Pocoo was formed as an international group of Python enthusiasts.[8]

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."[9][10][11]

Flask is based on the Werkzeug WSGI toolkit and Jinja2 template engine, both of them Pocoo projects that were created[when?] when Ronacher and Georg Brandl were building a bulletin board system written in Python.[12]

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.[13]

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!":

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

See also

References

  1. ^ https://pypi.python.org/pypi/Flask/0.11.1
  2. ^ "PyPI Flask". Python Package Index. 2016-06-27. Retrieved 2015-06-27.
  3. ^ What challenges has Pinterest encountered with Flask?
  4. ^ Rachel Sanders: Developing Flask Extensions - PyCon 2014
  5. ^ Community web page for Flask
  6. ^ "Flask Foreword".
  7. ^ "Flask Extensions".
  8. ^ "Pocoo team".
  9. ^ Ronacher, Armin. "Opening the Flask" (PDF). Retrieved 2011-09-30.
  10. ^ Ronacher, Armin (3 April 2010). "April 1st Post Mortem". Armin Ronacher's Thoughts and Writings. Retrieved 2015-07-25.
  11. ^ "Denied: the next generation python micro-web-framework (April Fools page)". Retrieved 2011-09-30.
  12. ^ "Pocoo History".
  13. ^ "Python libraries by GitHub stars".