Flask is a popular micro web application framework for Python using which you can create web apps. Unlike another popular framework like Django, Flask keeps its foot print to a minimum providing only the basic functionality required instead of picking out the entire stack for you the way Django does. And we call it a micro framework for this very reason. Using flask's extensibility at the core, you can build any type of applications by picking the components you want to use. Several big name companies like LinkedIn, Pinterest use Flask for their products.
In this tutorial we will get started with using
Flask and create a simple web application with it.
To follow along with this series you should have some knowledge of Python language. I'm using
3.6 for these tutorials and if you would like to follow along without any issues, I would suggest you to use the same version. For any of the previous versions, there might be a couple of changes in the syntax but the ideas and concepts will remain same.
You will also need to install
Flask. You can do that with
pip install -U flask
This will install flask if you don't already have it and update the version to latest if you have a previous version installed.
With those two things, you are good to go.
Just like with anything else you start by importing the stuff you want.
from flask import Flask
And this will make
Flask ready for you to use. After this you have to create an
app object by calling the
Flask constructor like this:
app = Flask("hello")
This will create our
app object. The name
hello I've specified in the constructor can be anything. But the usual convention is to keep it
__main__. Also, the app is just a variable. So, you can name it anything you want.
Next you have to define the routes. Using routes you configure your server to do different actions. Let's say when you type in some website URL in to your browser, you will be taken to its home page. Now if you do a
<website>/info it will take you to the info page. So, this mapping of the call to
/info URL to the
info page is what we call as a route. For the home page the route is simply
Let's say we want our server's homepage to display
Hello World. You can configure that with a method like this:
@app.route('/') def index(): return "Hello World"
@app.route('/'), we are defining a route on our server. So, when ever somebody opens that route, which for us i the homepage, the
index() method associated with that route annotation will be called. And when the
index() method is called it will return
Hello World just as we expect it to.
And there is one final command to start and run our server which is:
And that's it. This will run the app that we have created when you run the python file. The
debug=True option is useful while developing and testing applications. So, we'll keep that for now.
Just run your python script and you should output like this on the console:
* Debugger is active! * Debugger PIN: 127-398-124 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Now If you go to http://localhost:5000, you can see
Hello World displayed.
That's it. You have successfully created your first web application with flask in just 3 lines of code. Now, that is awesome. Stay tuned for the next part.
That is all for this article.
Some articles on automation:
If you are interested in this, make sure to follow me on Twitter @durgaswaroop.
If you are interested in contributing to any open source projects and haven't found the right project or if you were unsure on how to begin, I would like to suggest my own project, Delorean which is a Distributed Version control system, built from scratch in scala. You can contribute not only in the form of code, but also with usage documentation and also by identifying any bugs in its functionality.
Thanks for reading. See you again in the next article.