为什么将Django模板存储在相关应用程序中是不明智的?

JnB*_*ymn 2 django templates project-organization django-templates

根据这个问题的获胜答案以及我在互联网上阅读的其他内容,你最有可能将Django模板mySubAppX放在一个文件夹之外mySubAppX- 最常见的myProject/templates/mySubAppX是模板是一个兄弟到实际mySubAppX目录的目录.应用程序存储.

为什么?特别是当您将子应用程序设为模块化时为什么?

okm*_*okm 8

这不是一个规则,取决于.内部应用程序解决方案也有支持者.

在集中模板方式中templates/app/template_name,定位模板很快,模板名称可以很简单app/item.html; 您可以轻松地管理/移动整个目录到某些地方,如内存磁盘.

另一方面,内部应用程序方式,app/templates/app_template_name或者app/templates/app/template_name,更适合打包的应用程序.对于编辑,我的同事发现,无论如何,内部应用程序解决方案更便于在Eclipse中进行开发.


Aam*_*nan 5

正如okm所说,这不是规则。Django 总是首先在TEMPLATE_DIRS目录中查找模板,然后返回到 apps/packages 目录中查找模板。这就是为什么建议放置应用程序模板,以便可以快速找到它们。

您仍然可以将模板放在mySubAppX.

project/apps/mySubAppX/templates
Run Code Online (Sandbox Code Playgroud)

为了提高效率,您可以将此路径添加到您的TEMPLATE_DIRS设置中,以便 Django 首先在那里查找模板。

TEMPLATE_DIRS = (
    'project/apps/mySubAppX/templates',
    #other apps template directories
)
Run Code Online (Sandbox Code Playgroud)