我正在开发一个 django 应用程序。它包含三个应用程序,每个应用程序都有自己的模板目录和index.html 文件。但是,当我从第二个应用程序调用视图时,它会从第一个应用程序而不是第二个应用程序中获取模板文件。
\n每个模板名称都必须是唯一的吗?
\n我的项目目录:
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80jobs\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80migrations\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80static\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80templates\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80job_portal\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80main_app\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80migrations\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80static\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80templates\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80project_static\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80css\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80fonts\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80images\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80js\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80recruiters\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80migrations\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80static\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80css\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80fonts\n \xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80images\n \xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80js\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80\xe2\x94\x80templates\n
Run Code Online (Sandbox Code Playgroud)\n
在 Django 中,您可以为不同的应用程序使用具有相同名称的模板。但是您应该在应用程序的模板目录中添加子文件夹,如下所示:
my_app/templates/my_app/base.html
second_app/templates/second_app/base.html
Run Code Online (Sandbox Code Playgroud)
现在,在视图中,您应该将应用程序名称包含到模板名称中:
return render(request, 'my_app/base.html')
return render(request, 'second_app/base.html').
Run Code Online (Sandbox Code Playgroud)