不要误会我的意思,我不是在谈论将我的HTML放在settings.py文件旁边,而是在TEMPLATE_DIR
列表中添加项目目录(包含settings.py文件)所以我可以通过命名'app/template/file.html'
来调用任何模板。
我只是想知道为什么Django没有附带模板名称空间。它强迫你要么:
这不太理想,因为:
project_dir/app_name/template/appname
来违反DRY,否则,如果您有多个名为'index.html
的模板,那么您就会陷入困境。将项目目录定义为模板目录以调用所有模板文件'app_name/template/file.html'
是不是一个坏主意?如果是,为什么?你会怎么干净地干净?
答案 0 :(得分:0)
我个人使用app_name/templates
用于应用相关模板,projects/templates
用于全局模板。我个人认为这很有用,因为我非常喜欢我的应用程序和我的项目之间的松耦合,所以我倾向于让它们分离。
然而,django为您提供了自由选择。如果你选择的感觉很好我根本没有看到任何问题。
答案 1 :(得分:0)
你对app_directories
模板加载器的工作方式提出了一个有趣的论点。除了用模板污染应用程序的根目录之外,我无法想到因此而出现的问题。
也许在制作自己的模板加载器时需要进行调查吗?