Extended quickstart docs for the headers
This commit is contained in:
parent
13005d76b9
commit
5b16532000
1 changed files with 44 additions and 0 deletions
|
|
@ -621,6 +621,7 @@ just return strings from the view functions Flask will convert them into
|
||||||
response objects for you. If you explicitly want to do that you can use
|
response objects for you. If you explicitly want to do that you can use
|
||||||
the :meth:`~flask.make_response` function and then modify it.
|
the :meth:`~flask.make_response` function and then modify it.
|
||||||
|
|
||||||
|
For this also see :ref:`about-responses`.
|
||||||
|
|
||||||
Redirects and Errors
|
Redirects and Errors
|
||||||
--------------------
|
--------------------
|
||||||
|
|
@ -658,6 +659,49 @@ Note the ``404`` after the :func:`~flask.render_template` call. This
|
||||||
tells Flask that the status code of that page should be 404 which means
|
tells Flask that the status code of that page should be 404 which means
|
||||||
not found. By default 200 is assumed which translates to: all went well.
|
not found. By default 200 is assumed which translates to: all went well.
|
||||||
|
|
||||||
|
.. _about-responses:
|
||||||
|
|
||||||
|
About Responses
|
||||||
|
---------------
|
||||||
|
|
||||||
|
The return value from a view function is automatically converted into a
|
||||||
|
response object for you. If the return value is a string it's converted
|
||||||
|
into a response object with the string as response body, an ``200 OK``
|
||||||
|
error code and a ``text/html`` mimetype. The logic that Flask applies to
|
||||||
|
converting return values into response objects is as follows:
|
||||||
|
|
||||||
|
1. If a response object of the correct type is returned it's directly
|
||||||
|
returned from the view.
|
||||||
|
2. If it's a string, a response object is created with that data and the
|
||||||
|
default parameters.
|
||||||
|
3. If a tuple is returned the response object is created by passing the
|
||||||
|
tuple as arguments to the response object's constructor.
|
||||||
|
4. If neither of that works, Flask will assume the return value is a
|
||||||
|
valid WSGI application and converts that into a response object.
|
||||||
|
|
||||||
|
If you want to get hold of the resulting response object inside the view
|
||||||
|
you can use the :func:`~flask.make_response` function.
|
||||||
|
|
||||||
|
Imagine you have a view like this:
|
||||||
|
|
||||||
|
.. sourcecode:: python
|
||||||
|
|
||||||
|
@app.errorhandler(404)
|
||||||
|
def not_found(error):
|
||||||
|
return render_template('error.html'), 404
|
||||||
|
|
||||||
|
You just need to wrap the return expression with
|
||||||
|
:func:`~flask.make_response` and get the result object to modify it, then
|
||||||
|
return it:
|
||||||
|
|
||||||
|
.. sourcecode:: python
|
||||||
|
|
||||||
|
@app.errorhandler(404)
|
||||||
|
def not_found(error):
|
||||||
|
resp = make_response(render_template('error.html'), 404)
|
||||||
|
resp.headers['X-Something'] = 'A value'
|
||||||
|
return resp
|
||||||
|
|
||||||
.. _sessions:
|
.. _sessions:
|
||||||
|
|
||||||
Sessions
|
Sessions
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue