Optimized django.template.autoreload.get_template_directories() a bit.

This commit is contained in:
Adam Johnson 2021-12-21 07:39:40 +00:00 committed by GitHub
parent 72b23c04d8
commit cc752c1c3a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 2 deletions

View File

@ -13,18 +13,19 @@ def get_template_directories():
# Iterate through each template backend and find
# any template_loader that has a 'get_dirs' method.
# Collect the directories, filtering out Django templates.
cwd = Path.cwd()
items = set()
for backend in engines.all():
if not isinstance(backend, DjangoTemplates):
continue
items.update(Path.cwd() / to_path(dir) for dir in backend.engine.dirs)
items.update(cwd / to_path(dir) for dir in backend.engine.dirs)
for loader in backend.engine.template_loaders:
if not hasattr(loader, 'get_dirs'):
continue
items.update(
Path.cwd() / to_path(directory)
cwd / to_path(directory)
for directory in loader.get_dirs()
if not is_django_path(directory)
)