python项目里的templates目录

一个python项目下面可以建立多个APP,每个APP里面都可以建立templates目录用于存放模板文件,而且APP外面还有一个公用模板存放的目录templates。

一:公用模板存放的templates目录。

下图中的BASE_DIR指的是当前项目的路径,后者templates是公用模板所在文件夹的名字,综合作用是指定公用模板文件夹的路径。公用模板存放目录templates下面存放的是公用模板,本项目内的所有apps都可以调用,所有apps共享。

二:每个APP里面建立的templates目录。

每个APP里面创建的templates目录下,存放该APP专用的模板,不需要在settings.py配置文件中明确指定APP下的模板目录。因为settings.py配置文件设置了DjangoTemplates后端,并将APP_DIRS设置成了True;在DjangoTemplates模块中明确指出了app_dirname = 'templates';这将会让DjangoTemplates在每个INSTALLED_APPS文件夹中寻找 "templates" 子目录。

在该app的view.py中若要渲染一个专用模板,只要直接写模板名称即可,Django服务器会从该APP所在目录中的templates中查找模板,并渲染。

三:公用模板和APP内专用模板的加载顺序。

当APP内的view.py要渲染一个模板时,先根据模板名称去公用模板中查找,如果找到则完成渲染;如果找不到则再去当前APP下的templates目录中查找;即先公用,再专用。

最后:APP是可以跨APP来渲染模板文件的,即A-APP可以渲染B-APP下的某模板文件

原文地址:https://www.cnblogs.com/hzcya1995/p/13302435.html