A demo flask app ================ I'm doing this on shannon.marlboro.college, Feb 2020, python3 is 3.6.9, and am going through the steps to set things up fairly thoroughly, including a virtual envionment, version control, the flask app as a python package See https://flask.palletsprojects.com/en/1.1.x/tutorial/ https://jinja.palletsprojects.com/en/2.11.x/templates/ # -- Create project folder $ mkdir form_flask $ cd form_flask # -- Initialize version control $ git init # create and initialize .git/ repo $ touch .gitignore # non-repo stuff ; see tutorial # -- Set up python3 virtual environment # so that "python" and "pip" are both in a local 3.6.9 envionment. $ python3 -m venv venv # create ./venv/ with python3 $ . venv/bin/activate # change shell paths to use venv's python $ pip install flask # include flask in our venv $ pip install simplejson # any other extra python libs we want # -- Create flask application folder as a python package $ mkdir formy $ touch setup.py # put package specs here ; see tutorial $ touch MANIFEST.in # put package files here ; see tutorial $ mkdir tests # app code tests go here $ touch formy/__init__.py # app base code ; see tutorial $ mkdir formy/static # i.e. .jpg, .css, .js $ mkdir formy/templates # app html with embedded jinja2 $ pip install -e . # install this package into this venv # -- edit formy/__init__.py, formy/*.py, static/*, templates/* # to create the app - see the code. # --- launch development server with $ ./server # and point a browser at http::5432/form --- files ---- form_flask ├── formy │   ├── db.py "database" (json here) utilities │   ├── form.py a flask "blueprint" : routes, processing │   ├── handler.py a flask "blueprint" │   ├── __init__.py flask app initializtion │   ├── static │   │   └── styles.css styles, images, js │   └── templates │   ├── base.html jinja2 html templates │   ├── form.html │   └── handler.html ├── instance │   └── formy.json json database ├── MANIFEST.in package file list ├── README.txt You're reading it. ├── server devel deploy script ├── setup.py package requirements ├── tests package tests └── venv virtual python ├── ...