django - Django:如何从外部模板文件夹呈现 HTML 文件
问题描述
我想知道 Django 中是否有一种方法可以从模板目录之外渲染 HTML 文件。
就我而言,我有一个 app/docs 文件夹,其中包含我的静态文档 HTML 文件。到目前为止,我尝试了所有我发现的东西,但我总是以TemplateDoesNotExist
异常告终。
Tree:
project
|__app_name
|__templates
| |__app_name
| |__templates
|
|__docs
|__templates_to_render
任何帮助表示赞赏。
解决方案
您可以在 Django 设置中使用TEMPLATES
配置:
DIRS 定义了引擎应按搜索顺序查找模板源文件的目录列表。
APP_DIRS 告诉引擎是否应该在已安装的应用程序中查找模板。每个后端为应存储其模板的应用程序内的子目录定义一个常规名称。
因此,APP_DIRS
将已经在您的 app_name 文件夹内的模板文件夹中查看,并且DIRS
您可以将您的docs
文件夹设置为在您的 app_name 文件夹内部或外部。我更喜欢外面,像这样:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'docs')],
'APP_DIRS': True,
'OPTIONS': {
# ... some options here ...
},
},
]
您的树应该看起来像这样才能工作:
Tree:
project
|__app_name
|__templates
| |__app_name
| |__templates
|
docs
|__templates_to_render
推荐阅读
- javascript - 从 ionic 中的 Promise 外部访问对象
- android - 如何在 Android Studio 中使用 Mainframer 安装 Apk?
- python - 在数据框中传播特定列而不进行任何聚合?
- python - 按钮宽度和高度在 tkinter tkmacosx 中不起作用
- c# - 使 xsd.exe 实用程序生成具有强类型的架构
- scala - Scala:从列表创建二叉树
- c++ - 概念中的 C++ 值评估
- html - display flex如何影响元素的行高?
- angular - [已解决]Angular Material Dialog: dialogRef.afterClosed() 订阅未触发
- javascript - 禁用除 div 之外的整个身体