Sample code for the Flask tutorial in the VS Code documentation
This sample contains the completed program from the tutorial, make sure to visit the link: Using Flask in Visual Studio Code. Intermediate steps are not included.
It also contains the Dockerfile and uwsgi.ini files necessary to build a container with a production server. The resulting image works both locally and when deployed to Azure App Service. See Deploy Python using Docker containers.
To run the app locally:
cd hello_app, to change into the folder that contains the Flask app.
set FLASK_APP=webapp(Windows cmd) or
FLASK_APP=webapp(macOS/Linux) to point to the app module.
In the root folder, the
startup.pyfile is specifically for deploying to Azure App Service on Linux without using a containerized version of the app (that is, deploying the code directly, not as a container).
Because the app code is in its own module in the
hello_appfolder (which has an
__init__.py), trying to start the Gunicorn server within App Service on Linux produces an "Attempted relative import in non-package" error.
startup.pyfile, therefore, is a shim to import the app object from the
hello_appmodule, which then allows you to use startup:app in the Gunicorn command line (see
Contributions to the sample are welcome. When submitting changes, also consider submitting matching changes to the tutorial, the source file for which is tutorial-flask.md.
Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.
When you submit a pull request, a CLA-bot automatically determines whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.