gpt4 book ai didi

python - Django 项目模板加载器设置

转载 作者:行者123 更新时间:2023-11-30 22:50:11 25 4
gpt4 key购买 nike

是否可以设置 django 项目模板加载优先级,以便首先加载应用程序的“templates”文件夹,然后加载项目“templates”。如果应用程序文件夹中存在该模板,则使用它。如果应用程序文件夹中不存在,则尝试从项目文件夹加载。

或者这不是加载模板的正常方式?我问这个问题是因为我在异常中看到,Django 尝试首先加载所有全局模板:

Template-loader postmortem

Django tried loading these templates, in this order:

Using engine django:

  • django.template.loaders.filesystem.Loader: D:\myprojects\my-website\src\templates\home.html (Source does not exist)

  • django.template.loaders.app_directories.Loader: C:\User\Python27\lib\site-packages\django\contrib\admin\templates\home.html (Source does not exist)

  • django.template.loaders.app_directories.Loader: C:\User\Python27\lib\site-packages\django\contrib\auth\templates\home.html (Source does not exist)

  • django.template.loaders.app_directories.Loader: D:\myprojects\my-website\src\website\templates\home.html (Source does not exist)

最佳答案

更新您的TEMPLATES 设置,并将app_directories 加载器放在filesystem 加载器之前。

如果您当前有 'APP_DIRS': True,则必须删除它,并添加 loaders 选项。

例如,您可以将 TEMPLATES 设置更改为:

TEMPLATES = [{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'OPTIONS': {
'loaders': [
'django.template.loaders.app_directories.Loader',
'django.template.loaders.filesystem.Loader',
],
},
}]

关于python - Django 项目模板加载器设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39510368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com