Commit graph

1482 commits

Author SHA1 Message Date
Andrew J Roth
2889ea4dd9
Added Google Cloud Run as a Hosted option 2021-05-12 09:14:34 -04:00
Grey Li
57b19fda54 Fix typo in the example of nesting bp docs 2021-05-12 07:49:34 +00:00
David Lord
52adf2ec21
rename default branch in files 2021-05-11 15:18:41 -07:00
Grey Li
531671c9c5
Improve the wording of using FLASK_APP 2021-05-10 22:58:19 -07:00
David Lord
79ac96f123
show type hints in description 2021-05-10 22:45:42 -07:00
pgjones
7f87f3dd93
Simplify the async handling code
Firstly `run_sync` was a misleading name as it didn't run anything,
instead I think `async_to_sync` is much clearer as it converts a
coroutine function to a function. (Name stolen from asgiref).

Secondly trying to run the ensure_sync during registration made the
code more complex and brittle, e.g. the _flask_async_wrapper
usage. This was done to pay any setup costs during registration rather
than runtime, however this only saved a iscoroutne check. It allows
the weirdness of the Blueprint and Scaffold ensure_sync methods to be
removed.

Switching to runtime ensure_sync usage provides a method for
extensions to also support async, as now documented.
2021-05-03 06:15:39 -07:00
Joshua Bronson
8bfce88e39
Minor docs fixes. (#3988) 2021-05-02 16:05:08 -04:00
Grey Li
ec044a24e1 Add tips for using async on Windows on Python 3.8 2021-04-29 10:59:26 +08:00
David Lord
03db9194d8
Merge pull request #3967 from pgjones/docs 2021-04-17 07:34:56 -07:00
pgjones
f74cce164e Update documentation on asyncio background tasks
This has been an early question from users, so best to explain.
2021-04-17 15:13:33 +01:00
pgjones
1c3b53c5db Update the docs on serving with ASGI
Whilst it has been possible to serve via an ASGI server for a while
(using WSGI to ASGI middleware/adapters) it hasn't added much. Now
though it makes sense to recommend the asgiref adapter as it
integrates with the same event loop used for async route handlers
etc...
2021-04-17 11:30:22 +01:00
David Lord
6f09b4b5ed
Merge remote-tracking branch 'origin/1.1.x' into release-2.0.0rc1 2021-04-16 08:37:56 -07:00
pgjones
f92e820b4b
Nested blueprints
This allows blueprints to be nested within blueprints via a new
Blueprint.register_blueprint method. This should provide a use case
that has been desired for the past ~10 years.

This works by setting the endpoint name to be the blueprint names,
from parent to child delimeted by "." and then iterating over the
blueprint names in reverse order in the app (from most specific to
most general). This means that the expectation of nesting a blueprint
within a nested blueprint is met.
2021-04-14 09:25:42 -07:00
David Lord
dc3e9c0cc3
update async docs 2021-04-06 15:33:06 -07:00
pgjones
6979265fa6
Add async support
This allows for async functions to be passed to the Flask class
instance, for example as a view function,

    @app.route("/")
    async def index():
        return "Async hello"

this comes with a cost though of poorer performance than using the
sync equivalent.

asgiref is the standard way to run async code within a sync context,
and is used in Django making it a safe and sane choice for this.
2021-04-06 09:35:10 -07:00
kangetsu121
6eeaa2e50d fix a broken link 2021-03-16 16:30:54 +00:00
David Lord
dcd3b5c8f8
Merge pull request #3922 from pallets/consistency
various cleanup for consistency between projects
2021-02-24 10:35:16 -08:00
David Lord
9e7d3a6b69
docs rename changelog to changes 2021-02-24 10:09:38 -08:00
David Lord
3cd615a1d6
update project links 2021-02-24 10:09:15 -08:00
Grey Li
76abbe9062 Remove the mention of Flask-OAuth in the extension dev docs 2021-02-19 22:59:09 +08:00
David Lord
b473e7c97c
use Jinja's tojson filter 2021-02-01 22:48:09 -08:00
Tony De La Nuez
451c1f87f3
got_request_exception only sends unhandled exceptions
Co-authored-by: David Lord <davidism@gmail.com>
2021-02-01 20:28:10 -08:00
David Lord
64206c13c2
simplify InternalServerError.original_exception 2021-01-29 11:26:17 -08:00
David Lord
1936ca8a2e
remove BaseRequest and BaseResponse 2021-01-29 10:52:48 -08:00
David Lord
fdba0d2526
remove JSONMixin 2021-01-29 10:52:48 -08:00
Elliott King
7068d0983a
Clarify json error handling 2021-01-27 12:08:02 -05:00
Grey Li
de0af03862 Merge remote-tracking branch 'origin/1.1.x' 2020-12-30 21:00:49 +08:00
jordivandooren
7d3ae48d57
fix explanation of wheel name (#3848)
* fix explanation of wheel name

* Improve the description of wheel filename format

Co-authored-by: Grey Li <withlihui@gmail.com>
2020-12-30 18:57:37 +08:00
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
David Lord
15a49e7297
Merge branch '1.1.x' 2020-11-04 18:25:37 -08:00
Sarthak Vineet Kumar
577eec198a
updated doc for mod_wsgi (#3751)
Co-authored-by: Sarthak <sarthak@MacBook.local>
2020-11-04 18:20:36 -08:00
Viet Hung Nguyen
7c20611cdd
mkstemp returns a file descriptor (#3809) 2020-10-31 20:09:57 -07:00
Bart Broere
070a0c1c75
removing outdated xhtml information (#3802) 2020-10-21 14:13:41 -07:00
Grey Li
1035efc7d6
Add command switch tabs for Bash, CMD and Powershell with sphinx-tabs (#3714)
* Enable Sphinx extension sphinx-tabs

* Add command tabs for all export commands

* Add command tabs for all venv commands

Fix trim spaces
2020-10-15 14:08:37 -07:00
Jamiu Salimon
9d824db41c
Update the signature of the teardown function (#3730)
Co-authored-by: David Lord <davidism@gmail.com>
2020-10-15 14:02:54 -07:00
Henry Kobin
fa5aebc842
updated Sentry link (#3788) 2020-10-11 19:15:19 -07:00
sblondon
7e312c421e
aesthetic: add a space after a comma (#3771) 2020-09-28 07:21:13 -07:00
miquelvir
598c56c498
fix grammar (#3769) 2020-09-28 06:21:59 -07:00
Ebram Shehata
12a4d15546
Update quickstart.rst (#3767) 2020-09-25 16:52:00 -07:00
girst
de464c03e1
Correct Sentry advertisement (not Free Software) (#3758) 2020-09-15 09:20:10 -07:00
Grey Li
414b30b2ec Fix bad intersphinx link 2020-08-07 19:01:42 +08:00
David Lord
36e6fc8ab8
Merge pull request #3669 from ebonnecab/error-docs
Error Docs Revision/Consolidation
2020-07-28 14:17:36 -07:00
David Lord
89d1487b2e
rewrite debugging docs, move to separate page 2020-07-28 11:20:34 -07:00
David Lord
d25ee22e34
reduce section on http status codes
formatting in sentry section
2020-07-28 11:07:02 -07:00
David Lord
ba118b4543
adjust header levels and spacing
use code-block consistently
2020-07-28 10:46:22 -07:00
David Lord
2db3c9a72e
rewrite external debuggers section 2020-07-28 07:59:19 -07:00
David Lord
0db95259db
normalize sentence spacing 2020-07-28 07:57:24 -07:00
David Lord
f31a8ce4bc
Merge pull request #3704 from jackwardell/no-self-required
swapping self.assert_equal for assert
2020-07-28 07:10:13 -07:00
jackwardell
daf9ec790a swapping self.assert_equal for assert
self.assert_equal is not in a class and is ambiguous. Beginners might copy and paste this example and not understand it.
2020-07-28 14:23:00 +01:00
Ebonne Cabarrus
569c88d721
more changes to consolidated error handling docs 2020-07-24 09:25:07 -07:00