python - Django:TEMPLATE_DIRS 与 INSTALLED_APPS

标签 python django

我目前只是将应用程序添加到 INSTALLED_APPS 以便能够使用来自该应用程序的模板,但也有 TEMPLATE_DIRS 设置。我什么时候更喜欢 TEMPLATE_DIRS 而不是 INSTALLED_APPS?

最佳答案

您可以使用 TEMPLATE_DIRS 中的模板来覆盖来自应用程序的模板(通过给它们相同的名称)或用于与多个应用程序相关的模板(想到 base.html)。

之所以可行,是因为模板加载器在 TEMPLATE_LOADERS 中设置的顺序(文件系统在 app_directories 之前)。

最好按以下方式组织模板以避免名称冲突:

<project>/
    <app1>/templates/<app1>/
        foo.html
        bar.html
    <app2>/templates/<app2>/
        foo.html
    templates/
        <app1>/
            foo.html
        base.html
        xyzzy.html

关于python - Django:TEMPLATE_DIRS 与 INSTALLED_APPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3846128/

相关文章:

python - numpy argsort 性能缓慢

python - Django 在 View 中通过调用 api 保存数据

python - Django 联系表单类型错误 : context must be a dict rather than Context

python - Pandas - 给定特定 b 的条件概率

python - xgboost 文档有误吗? (早期停止轮次以及最佳和最后一次迭代)

python - 理解是什么让这个正则表达式如此缓慢

python - 如何使用 python 表?

python - Django将整数模型字段的范围设置为约束

Django REST Framework - TokenAuthentication - 缓存的使用

python - Django 员工用户仅管理他们自己创建的用户