Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 History  





2 Components  



2.1  Werkzeug  





2.2  Jinja  





2.3  MarkupSafe  





2.4  ItsDangerous  







3 Features  





4 Example  





5 See also  





6 References  





7 External links  














Flask (web framework)






العربية
Беларуская
Català
Čeština
Deutsch
Español
فارسی
Français

Bahasa Indonesia
Italiano
עברית
Кыргызча
Lombard


Oʻzbekcha / ўзбекча
Polski
Português
Runa Simi
Русский
Српски / srpski
ி
Українська


 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 




In other projects  



Wikimedia Commons
Wikiversity
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Flask
Developer(s)Armin Ronacher
Initial releaseApril 1, 2010; 14 years ago (2010-04-01)
Stable release

3.0.3[1] Edit this on Wikidata / 7 April 2024; 3 months ago (7 April 2024)

Repositorygithub.com/pallets/flask
Written inPython
TypeWeb framework
LicenseBSD 3-clause license
Websitepalletsprojects.com/p/flask/

Flask is a micro web framework written in Python. It is classified as a microframework because it does not require particular tools or libraries.[2] 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.[3]

Applications that use the Flask framework include Pinterest and LinkedIn.[4][5]

History

[edit]

Flask was created by Armin Ronacher of Pocoo, an international group of Python enthusiasts formed in 2004.[6] According to Ronacher, the idea was originally an April Fool's joke that was popular enough to make into a serious application.[7][8][9] The name is a play on the earlier Bottle framework.[7]

When Ronacher and Georg Brandl created a bulletin board system written in Python in 2004, the Pocoo projects Werkzeug and Jinja were developed.[10]

In April 2016, the Pocoo team was disbanded and development of Flask and related libraries passed to the newly formed Pallets project.[11][12] Since 2018, Flask-related data and objects can be rendered with Bootstrap.[13]

Flask has become popular among Python enthusiasts. As of October 2020, it has the second-most number of stars on GitHub among Python web-development frameworks, only slightly behind Django,[14] and was voted the most popular web framework in the Python Developers Survey for years between and including 2018 and 2022.[15][16][17][18][19]

Components

[edit]

The microframework Flask is part of the Pallets Projects (formerly Pocoo), and based on several others of them, all under a BSD license.

Werkzeug

[edit]

Werkzeug (German for "tool") is a utility library for the Python programming language for Web Server Gateway Interface (WSGI) applications. Werkzeug can instantiate objects for request, response, and utility functions. It can be used as the basis for a custom software framework and supports Python 2.7 and 3.5 and later.[20][21]

Jinja

[edit]

Jinja, also by Ronacher, is a template engine for the Python programming language. Similar to the Django web framework, it handles templates in a sandbox.

MarkupSafe

[edit]

MarkupSafe is a string handling library for the Python programming language. The eponymous MarkupSafe type extends the Python string type and marks its contents as "safe"; combining MarkupSafe with regular strings automatically escapes the unmarked strings, while avoiding double escaping of already marked strings.

ItsDangerous

[edit]

ItsDangerous is a safe data serialization library for the Python programming language. It is used to store the session of a Flask application in a cookie without allowing users to tamper with the session contents.

Features

[edit]

Example

[edit]

The following code shows a simple web application that displays "Hello World!" when visited:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello() -> str:
    return "Hello World"


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

See also

[edit]

References

[edit]
  1. ^ "Release 3.0.3". 7 April 2024. Retrieved 23 April 2024.
  • ^ "Flask Foreword". Archived from the original on 2017-11-17.
  • ^ "Flask Extensions". Archived from the original on 2018-05-17.
  • ^ What challenges has Pinterest encountered with Flask?
  • ^ Rachel Sanders: Developing Flask Extensions - PyCon 2014
  • ^ "Pocoo Team". Archived from the original on 2018-03-15.
  • ^ a b Ronacher, Armin. "Opening the Flask" (PDF). Archived from the original (PDF) on 2016-12-17. Retrieved 2011-09-30.
  • ^ Ronacher, Armin (3 April 2010). "April 1st Post Mortem". Armin Ronacher's Thoughts and Writings. Archived from the original on 2018-05-14. Retrieved 2015-07-25.
  • ^ "Denied: the next generation python micro-web-framework (April Fools page)". Archived from the original on 2011-09-04. Retrieved 2011-09-30.
  • ^ "History". Pocoo Team. Archived from the original on 2017-11-19. Retrieved 2015-03-25.
  • ^ Ronacher, Armin (2016-04-01). "Hello Pallets Users". The Pallets Projects. Retrieved 2021-05-08.
  • ^ "Pocoo". www.pocoo.org. Retrieved 2021-05-08.
  • ^ "Bootstrap-Flask". HelloFlask. Retrieved 2022-11-06.
  • ^ "Python libraries by GitHub stars". Github. Retrieved 2020-01-27.
  • ^ "Python Developers Survey 2018". www.jetbrains.com. 2018-11-01.
  • ^ "Python Developers Survey 2019". www.jetbrains.com. 2019.
  • ^ "Python Developers Survey 2020". www.jetbrains.com. 2020.
  • ^ "Python Developers Survey 2021". www.jetbrains.com. 2021.
  • ^ "Python Developers Survey 2022 Results". www.jetbrains.com. 2022. Retrieved 2023-10-17.
  • ^ Ronacher, Armin. "Werkzeug The Python WSGI Utility Library". palletsprojects.com. Retrieved 27 May 2018.
  • ^ Ronacher, Armin. "Installation, Python Version". palletsprojects.com. Archived from the original on 11 May 2021. Retrieved 20 April 2020.
  • [edit]
    Retrieved from "https://en.wikipedia.org/w/index.php?title=Flask_(web_framework)&oldid=1222790474"

    Categories: 
    Free software programmed in Python
    Python (programming language) web frameworks
    Software using the BSD license
    Hidden categories: 
    Articles with short description
    Short description matches Wikidata
    Articles lacking reliable references from April 2024
    All articles lacking reliable references
    Articles containing potentially dated statements from October 2020
    All articles containing potentially dated statements
    Articles with example Python (programming language) code
     



    This page was last edited on 7 May 2024, at 22:45 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki