我有 djnago 应用程序结构,例如
myproject/myapp
myproject/myapp/static/site/app/index.html
我想像这样在我的文件中包含该模板
url(r'^public$', TemplateView.as_view(template_name="/static/site/app/index.html")),
但它说找不到模板
import os
import sys
PORJECT_ROOT = os.path.join(os.path.dirname(__file__),'..')
sys.path.insert(0, os.path.join(PROJECT_ROOT,'static'))
确保该文件夹包含在TEMPLATE_DIRS
设置中(在 settings.py 中)。
通常(按照惯例)模板文件文件夹是 project_root_folder\templates 文件夹,在 settings.py 中更新 TEMPLATE_DIRS:
import os
PORJECT_ROOT = os.path.dirname(os.path.dirname(__file__))
TEMPLATE_DIRS = (
os.path.join(PORJECT_ROOT, 'templates'),
)
而静态存储仅 javascript/css/images 文件。
这将使未来的开发和部署更容易。
默认情况下,django 在 app/templates 目录中检查模板匹配,或者在 project_root/templates/ 中检查。正如其他人所说,您应该在 TEMPLATE_DIRS 设置中列出目录。