https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world