Opened 3 years ago
Last modified 3 years ago
#33688 closed New feature
DjangoTemplates app_dirname does not apply to app directories — at Initial Version
Reported by: | Dutcher | Owned by: | nobody |
---|---|---|---|
Component: | Template system | Version: | 4.0 |
Severity: | Normal | Keywords: | Templates |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
Each backend defines a conventional name for the subdirectory inside applications where its templates should be stored
https://docs.djangoproject.com/en/4.0/topics/templates/#configuration
The DjangoTemplates class allows for adjusting the name of the folder in which templates are found, but the template loaders do not take this into account. In particular the App Directory Template Loader the folder name ("textures" is currently hardcoded and immutable without writing a custom loader. I think it's better if the code allows for setting the folder name as input upon instance creation:
template/loaders/app_directories.py
from .filesystem import Loader as FilesystemLoader class Loader(FilesystemLoader): def __init__(self, engine, dir_name=None): self.dir_name = dir_name or "templates" super(Loader).__init__(engine) def get_dirs(self): return get_app_template_dirs(self.dir_name)