Common behavior shared between ~flask.Flask
and
~flask.blueprints.Blueprint
.
Parameters | |
import_name | The import name of the module where this object
is defined. Usually __name__ should be used. |
static_folder | Path to a folder of static files to serve. If this is set, a static route will be added. |
static_url_path | URL prefix for the static route. |
template_folder | Path to a folder containing template files. for rendering. If this is set, a Jinja loader will be added. |
root_path | The path that static, template, and resource files are relative to. Typically not set, it is discovered based on the import_name. |
Static Method | _get_exc_class_and_code |
Get the exception class being handled. For HTTP status codes or HTTPException subclasses, return both the exception and status code. |
Method | __init__ |
Undocumented |
Method | __repr__ |
Undocumented |
Method | _is_setup_finished |
Undocumented |
Method | _method_route |
Undocumented |
Method | add_url_rule |
Register a rule for routing incoming requests and building URLs. The route decorator is a shortcut to call this with the view_func argument. These are equivalent: |
Method | after_request |
Register a function to run after each request to this object. |
Method | before_request |
Register a function to run before each request. |
Method | context_processor |
Registers a template context processor function. |
Method | delete |
Shortcut for route with methods=["DELETE"]. |
Method | endpoint |
Decorate a view function to register it for the given endpoint. Used if a rule is added without a view_func with add_url_rule . |
Method | errorhandler |
Register a function to handle errors by code or exception class. |
Method | get |
Shortcut for route with methods=["GET"]. |
Method | get_send_file_max_age |
Used by send_file to determine the max_age cache value for a given file path if it wasn't passed. |
Method | open_resource |
Open a resource file relative to root_path for reading. |
Method | patch |
Shortcut for route with methods=["PATCH"]. |
Method | post |
Shortcut for route with methods=["POST"]. |
Method | put |
Shortcut for route with methods=["PUT"]. |
Method | register_error_handler |
Alternative error attach function to the errorhandler decorator that is more straightforward to use for non decorator usage. |
Method | route |
Decorate a view function to register it with the given URL rule and options. Calls add_url_rule , which has more details about the implementation. |
Method | send_static_file |
No summary |
Method | static_folder.setter |
Undocumented |
Method | static_url_path.setter |
Undocumented |
Method | teardown_request |
No summary |
Method | url_defaults |
Callback function for URL defaults for all view functions of the application. It's called with the endpoint and values and should update the values passed in place. |
Method | url_value_preprocessor |
Register a URL value preprocessor function for all view functions in the application. These functions will be called before the before_request functions. |
Class Variable | json_decoder |
Undocumented |
Class Variable | json_encoder |
Undocumented |
Class Variable | name |
Undocumented |
Instance Variable | _static_folder |
Undocumented |
Instance Variable | _static_url_path |
Undocumented |
Instance Variable | after_request_funcs |
Undocumented |
Instance Variable | before_request_funcs |
Undocumented |
Instance Variable | cli |
Undocumented |
Instance Variable | error_handler_spec |
Undocumented |
Instance Variable | import_name |
Undocumented |
Instance Variable | root_path |
Undocumented |
Instance Variable | teardown_request_funcs |
Undocumented |
Instance Variable | template_context_processors |
Undocumented |
Instance Variable | template_folder |
Undocumented |
Instance Variable | url_default_functions |
Undocumented |
Instance Variable | url_value_preprocessors |
Undocumented |
Instance Variable | view_functions |
Undocumented |
Property | has_static_folder |
True if static_folder is set. |
Property | jinja_loader |
The Jinja loader for this object's templates. By default this is a class jinja2.loaders.FileSystemLoader to template_folder if it is set. |
Property | static_folder |
The absolute path to the configured static folder. None if no static folder is set. |
Property | static_url_path |
The URL prefix that the static route will be accessible from. |
Parameters | |
exc_class_or_code:t.Union[ | Any exception class, or an HTTP status code as an integer. |
Returns | |
t.Tuple[ | Undocumented |
flask.app.Flask
, flask.blueprints.Blueprint
Undocumented
Parameters | |
import_name:str | Undocumented |
static_folder:t.Optional[ | Undocumented |
static_url_path:t.Optional[ | Undocumented |
template_folder:t.Optional[ | Undocumented |
root_path:t.Optional[ | Undocumented |
flask.app.Flask
, flask.blueprints.Blueprint
Undocumented
Returns | |
bool | Undocumented |
Undocumented
Parameters | |
method:str | Undocumented |
rule:str | Undocumented |
options:dict | Undocumented |
Returns | |
t.Callable | Undocumented |
flask.app.Flask
, flask.blueprints.Blueprint
Register a rule for routing incoming requests and building
URLs. The route
decorator is a shortcut to call this
with the view_func argument. These are equivalent:
@app.route("/") def index(): ...
def index(): ... app.add_url_rule("/", view_func=index)
See :ref:`url-route-registrations`.
The endpoint name for the route defaults to the name of the view function if the endpoint parameter isn't passed. An error will be raised if a function has already been registered for the endpoint.
The methods parameter defaults to ["GET"]. HEAD is always added automatically, and OPTIONS is added automatically by default.
view_func does not necessarily need to be passed, but if the
rule should participate in routing an endpoint name must be
associated with a view function at some point with the
endpoint
decorator.
app.add_url_rule("/", endpoint="index") @app.endpoint("index") def index(): ...
If view_func has a required_methods attribute, those methods are added to the passed and automatic methods. If it has a provide_automatic_methods attribute, it is used as the default if the parameter is not passed.
Parameters | |
rule:str | The URL rule string. |
endpoint:t.Optional[ | The endpoint name to associate with the rule and view function. Used when routing and building URLs. Defaults to view_func.__name__. |
view_func:t.Optional[ | The view function to associate with the endpoint name. |
provide_automatic_options:t.Optional[ | Add the OPTIONS method and respond to OPTIONS requests automatically. |
**options:t.Any | Extra options passed to the
~werkzeug.routing.Rule object. |
Register a function to run after each request to this object.
The function is called with the response object, and must return a response object. This allows the functions to modify or replace the response before it is sent.
If a function raises an exception, any remaining
after_request functions will not be called. Therefore, this
should not be used for actions that must execute, such as to
close resources. Use teardown_request
for that.
Parameters | |
f:AfterRequestCallable | Undocumented |
Returns | |
AfterRequestCallable | Undocumented |
Register a function to run before each request.
For example, this can be used to open a database connection, or to load the logged in user from the session.
@app.before_request def load_user(): if "user_id" in session: g.user = db.session.get(session["user_id"])
The function will be called without any arguments. If it returns a non-None value, the value is handled as if it was the return value from the view, and further request handling is stopped.
Parameters | |
f:BeforeRequestCallable | Undocumented |
Returns | |
BeforeRequestCallable | Undocumented |
Parameters | |
f:TemplateContextProcessorCallable | Undocumented |
Returns | |
TemplateContextProcessorCallable | Undocumented |
Shortcut for route
with methods=["DELETE"].
Parameters | |
rule:str | Undocumented |
**options:t.Any | Undocumented |
Returns | |
t.Callable | Undocumented |
Decorate a view function to register it for the given
endpoint. Used if a rule is added without a view_func with
add_url_rule
.
app.add_url_rule("/ex", endpoint="example") @app.endpoint("example") def example(): ...
Parameters | |
endpoint:str | The endpoint name to associate with the view function. |
Returns | |
t.Callable | Undocumented |
Register a function to handle errors by code or exception class.
A decorator that is used to register a function given an error code. Example:
@app.errorhandler(404) def page_not_found(error): return 'This page does not exist', 404
You can also register handlers for arbitrary exceptions:
@app.errorhandler(DatabaseError) def special_exception_handler(error): return 'Database connection failed', 500
register_error_handler
instead of modifying
error_handler_spec
directly, for application wide error
handlers.~werkzeug.exceptions.HTTPException
class.Parameters | |
code_or_exception:t.Union[ | the code as integer for the handler, or an arbitrary exception |
Returns | |
t.Callable[ | Undocumented |
Shortcut for route
with methods=["GET"].
Parameters | |
rule:str | Undocumented |
**options:t.Any | Undocumented |
Returns | |
t.Callable | Undocumented |
Used by send_file
to determine the max_age cache
value for a given file path if it wasn't passed.
By default, this returns SEND_FILE_MAX_AGE_DEFAULT
from
the configuration of ~flask.current_app
. This defaults
to None, which tells the browser to use conditional requests
instead of a timed cache, which is usually preferable.
Parameters | |
filename:t.Optional[ | Undocumented |
Returns | |
t.Optional[ | Undocumented |
Open a resource file relative to root_path
for
reading.
For example, if the file schema.sql is next to the file app.py where the Flask app is defined, it can be opened with:
with app.open_resource("schema.sql") as f: conn.executescript(f.read())
Parameters | |
resource:str | Path to the resource relative to
root_path . |
mode:str | Open the file in this mode. Only reading is supported, valid values are "r" (or "rt") and "rb". |
Returns | |
t.IO[ | Undocumented |
Shortcut for route
with methods=["PATCH"].
Parameters | |
rule:str | Undocumented |
**options:t.Any | Undocumented |
Returns | |
t.Callable | Undocumented |
Shortcut for route
with methods=["POST"].
Parameters | |
rule:str | Undocumented |
**options:t.Any | Undocumented |
Returns | |
t.Callable | Undocumented |
Shortcut for route
with methods=["PUT"].
Parameters | |
rule:str | Undocumented |
**options:t.Any | Undocumented |
Returns | |
t.Callable | Undocumented |
Alternative error attach function to the errorhandler
decorator that is more straightforward to use for non decorator
usage.
Parameters | |
code_or_exception:t.Union[ | Undocumented |
f:ErrorHandlerCallable[ | Undocumented |
Decorate a view function to register it with the given URL
rule and options. Calls add_url_rule
, which has more
details about the implementation.
@app.route("/") def index(): return "Hello, World!"
See :ref:`url-route-registrations`.
The endpoint name for the route defaults to the name of the view function if the endpoint parameter isn't passed.
The methods parameter defaults to ["GET"]. HEAD and OPTIONS are added automatically.
Parameters | |
rule:str | The URL rule string. |
**options:t.Any | Extra options passed to the
~werkzeug.routing.Rule object. |
Returns | |
t.Callable | Undocumented |
The view function used to serve files from
static_folder
. A route is automatically registered for
this view at static_url_path
if static_folder
is
set.
Parameters | |
filename:str | Undocumented |
Returns | |
Response | Undocumented |
Register a function to be run at the end of each request, regardless of whether there was an exception or not. These functions are executed when the request context is popped, even if not an actual request was performed.
Example:
ctx = app.test_request_context() ctx.push() ... ctx.pop()
When ctx.pop() is executed in the above example, the teardown functions are called just before the request context moves from the stack of active contexts. This becomes relevant if you are using such constructs in tests.
Teardown functions must avoid raising exceptions, since they . If they execute code that might fail they will have to surround the execution of these code by try/except statements and log occurring errors.
When a teardown function was called because of an exception it will be passed an error object.
The return values of teardown functions are ignored.
Debug Note
In debug mode Flask will not tear down a request on an exception immediately. Instead it will keep it alive so that the interactive debugger can still access it. This behavior can be controlled by the PRESERVE_CONTEXT_ON_EXCEPTION configuration variable.
Parameters | |
f:TeardownCallable | Undocumented |
Returns | |
TeardownCallable | Undocumented |
Parameters | |
f:URLDefaultCallable | Undocumented |
Returns | |
URLDefaultCallable | Undocumented |
Register a URL value preprocessor function for all view
functions in the application. These functions will be called before the
before_request
functions.
The function can modify the values captured from the matched url before they are passed to the view. For example, this can be used to pop a common language code value and place it in g rather than pass it to every view.
The function is passed the endpoint name and values dict. The return value is ignored.
Parameters | |
f:URLValuePreprocessorCallable | Undocumented |
Returns | |
URLValuePreprocessorCallable | Undocumented |
t.Optional[ t.Type[ JSONDecoder]]
=
flask.blueprints.Blueprint
Undocumented
t.Optional[ t.Type[ JSONEncoder]]
=
flask.blueprints.Blueprint
Undocumented
t.Dict[ AppOrBlueprintKey, t.Dict[ t.Optional[ int], t.Dict[ t.Type[ Exception], ErrorHandlerCallable[ Exception]]]]
=
Undocumented
t.Dict[ AppOrBlueprintKey, t.List[ TemplateContextProcessorCallable]]
=
Undocumented
t.Dict[ AppOrBlueprintKey, t.List[ URLValuePreprocessorCallable]]
=
Undocumented
The Jinja loader for this object's templates. By default this
is a class jinja2.loaders.FileSystemLoader
to
template_folder
if it is set.
t.Optional[ str]
=
t.Optional[ str]
=
The URL prefix that the static route will be accessible from.
If it was not configured during init, it is derived from
static_folder
.