我正在开发一款django应用。它有三个应用程序,每个应用程序都有自己的模板目录和index.html文件。但是当我从第二个应用程序调用视图时,它会从第一个应用程序而不是第二个应用程序中获取模板文件 每个模板名称都必须是唯一的吗? 我的项目目录:
├───jobs
│ ├───migrations
│ ├───static
│ └───templates
├───job_portal
├───main_app
│ ├───migrations
│ ├───static
│ └───templates
├───project_static
│ ├───css
│ ├───fonts
│ ├───images
│ └───js
└───recruiters
├───migrations
├───static
│ ├───css
│ ├───fonts
│ ├───images
│ └───js
└───templates
答案 0 :(得分:4)
在Django中,您可以为不同的应用程序使用相同名称的模板。但是你应该在app的模板目录中添加子文件夹,如下所示:
my_app/templates/my_app/base.html
second_app/templates/second_app/base.html
现在,在视图中,您应该将应用名称包含在模板名称中:
return render(request, 'my_app/base.html')
return render(request, 'second_app/base.html').