Added support for loading templates from modules

This commit is contained in:
Armin Ronacher 2010-07-04 13:42:00 +02:00
parent 15012af700
commit a38dcd5e2b
3 changed files with 72 additions and 30 deletions

View file

@ -27,7 +27,9 @@ except ImportError:
except ImportError:
json_available = False
from werkzeug import Headers, wrap_file, is_resource_modified
from werkzeug import Headers, wrap_file, is_resource_modified, cached_property
from jinja2 import FileSystemLoader
from flask.globals import session, _request_ctx_stack, current_app, request
from flask.wrappers import Response
@ -340,6 +342,16 @@ class _PackageBoundObject(object):
"""
return os.path.isdir(os.path.join(self.root_path, 'static'))
@cached_property
def jinja_loader(self):
"""The Jinja loader for this package bound object.
.. versionadded:: 0.5
"""
template_folder = os.path.join(self.root_path, 'templates')
if os.path.isdir(template_folder):
return FileSystemLoader(template_folder)
def send_static_file(self, filename):
"""Function used internally to send static files from the static
folder to the browser.