Flask ===== Flask is a lightweight `WSGI`_ web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. It began as a simple wrapper around `Werkzeug`_ and `Jinja`_ and has become one of the most popular Python web application frameworks. Flask offers suggestions, but doesn't enforce any dependencies or project layout. It is up to the developer to choose the tools and libraries they want to use. There are many extensions provided by the community that make adding new functionality easy. .. _WSGI: https://wsgi.readthedocs.io/ .. _Werkzeug: https://werkzeug.palletsprojects.com/ .. _Jinja: https://jinja.palletsprojects.com/ Installation ------------ Python Version: ensure you are using the latest version of Python. Flask supports Python 3.7 and newer. Create virtual environments: Use a virtual environment to manage the dependencies for your project, both in development and in production. What problem does a virtual environment solve? The more Python projects you have, the more likely it is that you need to work with different versions of Python libraries, or even Python itself. Newer versions of libraries for one project can break compatibility in another project. MacOS: .. code-block:: text mkdir myproject $ cd myproject $ python3 -m venv venv Windows: .. code-block:: text > mkdir myproject > cd myproject > py -3 -m venv venv Activate virtual environments MacOS: .. code-block:: text $ . venv/bin/activate Windows: .. code-block:: text > venv\Scripts\activate Install Flask Within the activated environment, use the following command to install Flask and update using `pip`_: .. code-block:: text $ pip install -U Flask .. _pip: https://pip.pypa.io/en/stable/getting-started/ A Simple Example ---------------- .. code-block:: python # save this as app.py from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello, World!" .. code-block:: text $ flask run * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) Contributing ------------ For guidance on setting up a development environment and how to make a contribution to Flask, see the `contributing guidelines`_. .. _contributing guidelines: https://github.com/pallets/flask/blob/main/CONTRIBUTING.rst Donate ------ The Pallets organization develops and supports Flask and the libraries it uses. In order to grow the community of contributors and users, and allow the maintainers to devote more time to the projects, `please donate today`_. .. _please donate today: https://palletsprojects.com/donate Links ----- - Documentation: https://flask.palletsprojects.com/ - Changes: https://flask.palletsprojects.com/changes/ - PyPI Releases: https://pypi.org/project/Flask/ - Source Code: https://github.com/pallets/flask/ - Issue Tracker: https://github.com/pallets/flask/issues/ - Website: https://palletsprojects.com/p/flask/ - Twitter: https://twitter.com/PalletsTeam - Chat: https://discord.gg/pallets