django 网页模板继承问题

2018-04-17 16:58:09 +08:00
 4thmagi
在使用 Django 进行 web 开发时,往往会构造一个基础框架模板即 base.html,而后在其子模板中对它所包含站点公用部分和定义块进行重载。
我的 django 版本是 2.0.3。我在包含 manage.py 文件的根目录下建立了文件夹 templates,在该文件夹中新建了 base.html。在 app 的 templates 文件夹下的 html 文件中继承了 base.html。就写了这么一行代码 {% extends 'base.html' %}
但是在打开网页的时候报错内容如下:
TemplateDoesNotExist at /login/login/
base.html
我将 base.html 复制到 app 的 templates 文件夹下依然报错,请问我该怎么修改?
3179 次点击
所在节点    Django
4 条回复
kaikai5601
2018-04-17 17:04:59 +08:00
setting 里面设置没设置好吧,模板默认目录
shuizhengqi
2018-04-17 17:09:17 +08:00
报错都这么明显了,找不到模板。你自己 setting 里面路径没设对
4thmagi
2018-04-17 17:46:24 +08:00
@kaikai5601 非常感谢。我在 settings.py 的 Templates[]中加了如下代码:
'DIRS': [os.path.join(BASE_DIR, 'templates')],
结果还是会报错。
我在百度上搜索了如何 django 设置模板默认目录,得到的方案是在末尾加一句 TEMPLATES_DIRS = [
os.path.join(BASE_DIR, "mysite\\templates").replace('\\','/'),
]
请问 django2.0 应该如何设置模板默认目录?
chengxiao
2018-04-17 22:04:22 +08:00
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'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',
'django.template.context_processors.static',
],
},
},
]

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/447536

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX