def setup(app):
procs = [request_processor]
# setup Jinja2 template renderer
app_loaders = [
jinja2.FileSystemLoader(os.path.join(settings.BASE_DIR, "app/views_min/")),
jinja2.FileSystemLoader(os.path.join(settings.BASE_DIR, "app/views/")),
jinja2.PackageLoader("aioweb", "views/")
]
for app_name in settings.APPS:
try:
app_loaders.append(jinja2.PackageLoader(app_name, "app/views"))
except ImportError as e:
pass
env = jinja2.Environment(
loader=jinja2.ChoiceLoader(app_loaders),
enable_async=True,
trim_blocks=True,
lstrip_blocks=True,
extensions=[
DjangoStatic,
DjangoUrl,
DjangoNow,
DjangoTrans
])
env.globals['settings'] = settings
env.globals['app'] = app
app[APP_KEY] = env
app[APP_CONTEXT_PROCESSORS_KEY] = procs
app.middlewares.append(context_processors_middleware)
try:
mod = importlib.import_module("app")
setup = getattr(mod, 'setup_template')
await awaitable(setup(env))
except (ImportError, AttributeError) as e:
pass
评论列表
文章目录