mirror of https://github.com/mitsuhiko/flask.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
792 B
23 lines
792 B
9 years ago
|
Subclassing Flask
|
||
|
=================
|
||
|
|
||
|
The :class:`~flask.Flask` class is designed for subclassing.
|
||
|
|
||
|
One reason to subclass would be customizing the Jinja2 :class:`~jinja2.Environment`. For example, to add a new global template variable::
|
||
|
|
||
|
from flask import Flask
|
||
|
from datetime import datetime
|
||
|
|
||
|
class MyFlask(Flask):
|
||
|
""" Flask with more global template vars """
|
||
|
|
||
|
def create_jinja_environment(self):
|
||
|
""" Initialize my custom Jinja environment. """
|
||
|
jinja_env = super(MyFlask, self).create_jinja_environment(self)
|
||
|
jinja_env.globals.update(
|
||
|
current_time = datetime.datetime.now()
|
||
|
)
|
||
|
return jinja_env
|
||
|
|
||
|
This is the recommended approach for overriding or augmenting Flask's internal functionality.
|