gpt4 book ai didi

python - 渲染模板位于 Django 中未注册的文件夹中

转载 作者:行者123 更新时间:2023-12-01 04:20:52 25 4
gpt4 key购买 nike

在我的网站上,我的特定文件夹中有演示模板:

project_root
├── project
│ ├── design # templates
│ │ ├── demo # template folder
│ │ │ └── index.html # template file
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── some_app
│ └── ...
└── manage.py

我尝试使用 TemplateView 从特定网址渲染我的 demo/index.html 但 Django 无法找到我的模板,即使我添加 /项目/设计TEMPLATE_DIRSTEMPLATES

我需要使用在 /project/design 文件夹中包含模板的 demo/index.html 字符串来渲染模板。我该怎么做?

最佳答案

添加您使用的正确模板引擎,例如DjangoTemplate,此目录。

例如(settings.py 文件):

from unipath import Path

BASE_DIR = Path(__file__).ancestor(2)

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
BASE_DIR + '/project/design/',
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]

检查 BASE_DIR变量对应于包含所有应用程序的文件夹。

之后,使用以下命令渲染您的模板:

return render(request, 'demo/index.html')

最佳实践:将模板放入 project_root/templates/<app_name>/或在 templates/<app_name>每个应用程序的文件夹。

阅读此内容以了解有关模板的更多信息:Django - Templates

关于python - 渲染模板位于 Django 中未注册的文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33709621/

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