No description
Find a file
David Lord dc11cdb4a4
move send_file and send_from_directory to Werkzeug
The implementations were moved to Werkzeug, Flask's functions become
wrappers around Werkzeug to pass some Flask-specific values.

cache_timeout is renamed to max_age. SEND_FILE_MAX_AGE_DEFAULT,
app.send_file_max_age_default, and app.get_send_file_max_age defaults
to None. This tells the browser to use conditional requests rather than
a 12 hour cache.

attachment_filename is renamed to download_name, and is always sent if
a name is known.

Deprecate helpers.safe_join in favor of werkzeug.utils.safe_join.

Removed most of the send_file tests, they're tested in Werkzeug.

In the file upload example, renamed the uploaded_file view to
download_file to avoid a common source of confusion.
2020-11-05 09:27:52 -08:00
.github update tests for new werkzeug client (#3827) 2020-11-04 18:00:21 -08:00
artwork standardize license and copyright 2019-06-22 13:09:09 -07:00
docs move send_file and send_from_directory to Werkzeug 2020-11-05 09:27:52 -08:00
examples move package metadata to setup.cfg 2020-04-04 14:50:21 -07:00
requirements update requirements (#3823) 2020-11-01 05:30:02 -08:00
src/flask move send_file and send_from_directory to Werkzeug 2020-11-05 09:27:52 -08:00
tests move send_file and send_from_directory to Werkzeug 2020-11-05 09:27:52 -08:00
.editorconfig add EditorConfig 2020-05-23 13:25:06 -07:00
.gitignore Add vscode settings dir to .gitignore 2020-02-10 11:09:04 -08:00
.pre-commit-config.yaml update requirements (#3823) 2020-11-01 05:30:02 -08:00
.readthedocs.yaml use pip-compile to pin dev requirements 2020-05-23 14:03:11 -07:00
CHANGES.rst move send_file and send_from_directory to Werkzeug 2020-11-05 09:27:52 -08:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2019-05-06 12:41:01 -04:00
CONTRIBUTING.rst Add command switch tabs for Bash, CMD and Powershell with sphinx-tabs (#3714) 2020-10-15 14:08:37 -07:00
LICENSE.rst standardize license and copyright 2019-06-22 13:09:09 -07:00
MANIFEST.in use pip-compile to pin dev requirements 2020-05-23 14:03:11 -07:00
README.rst Update Discord invite links 2020-07-21 12:11:17 +08:00
setup.cfg update metadata 2020-07-01 09:09:12 -07:00
setup.py use pip-compile to pin dev requirements 2020-05-23 14:03:11 -07:00
tox.ini update tests for new werkzeug client (#3827) 2020-11-04 18:00:21 -08:00

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.


Installing
----------

Install and update using `pip`_:

.. code-block:: text

    pip install -U Flask


A Simple Example
----------------

.. code-block:: python

    from flask import Flask

    app = Flask(__name__)

    @app.route("/")
    def hello():
        return "Hello, World!"

.. code-block:: text

    $ env FLASK_APP=hello.py flask run
     * Serving Flask app "hello"
     * 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/master/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://psfmember.org/civicrm/contribute/transact?reset=1&id=20


Links
-----

* Website: https://palletsprojects.com/p/flask/
* Documentation: https://flask.palletsprojects.com/
* Releases: https://pypi.org/project/Flask/
* Code: https://github.com/pallets/flask
* Issue tracker: https://github.com/pallets/flask/issues
* Test status: https://dev.azure.com/pallets/flask/_build
* Official chat: https://discord.gg/pallets

.. _WSGI: https://wsgi.readthedocs.io
.. _Werkzeug: https://www.palletsprojects.com/p/werkzeug/
.. _Jinja: https://www.palletsprojects.com/p/jinja/
.. _pip: https://pip.pypa.io/en/stable/quickstart/