Introduction
"Flask is a microframework for Python based on Werkzeug, Jinja2 and good intentions." | ||
--Flask official documentation |
Why micro? Does it mean that Flask is lacking in functionality or that your complete web application has to mandatorily go inside one file? Not really! It simply refers to the fact that Flask aims at keeping the core of the framework small but highly extensible. This makes writing applications or extensions very easy and flexible and gives developers the power to choose the configurations they want for their application, without imposing any restrictions on the choice of database, templating engine, and so on. In this chapter, you will learn some ways to set up and configure Flask.
Getting started with Flask hardly takes 2 minutes. Setting up a simple Hello World application is as easy as baking a pie:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello to the World of Flask!' if __name__ == '__main__': app.run()
Now, Flask needs to be installed; this can be done simply via pip
:
$ pip install Flask
The preceding snippet is a complete Flask-based web application. Here, an instance of the imported Flask
class is a Web Server Gateway Interface (WSGI) (http://legacy.python.org/dev/peps/pep-0333/) application. So, app
in this code becomes our WSGI application, and as this is a standalone module, we set the __name__
string as '__main__'
. If we save this in a file with the name app.py
, then the application can simply be run using the following command:
$ python app.py * Running on http://127.0.0.1:5000/
Now, if we just head over to our browser and type http://127.0.0.1:5000/
, we can see our application running.
Tip
Never save your application file as flask.py
; if you do so, it will conflict with Flask itself while importing.