在我的根文件夹中,我有一个模板文件夹,里面有一个base.html文件。我有一个带有一些HTML的应用程序,我希望它扩展base.html。
这里是base.html中的代码:
<header><h3>Header here</h3></header>
{% block content %}
{% endblock %}
<footer><h3>Footer here</h3></footer>
应用内的代码是:
{% extends base.html %}
{% block content %}
<h1>{{ question.question_text }}</h1>
<ul>
{% for choice in question.choice_set.all %}
<li>{{ choice.choice_text }} -- {{ choice.votes }} vote{{ choice.votes|pluralize }}</li>
{% endfor %}
</ul>
<a href="{% url 'polls:detail' question.id %}">Vote again?</a>
{% endblock %}
出于某种原因,我在&#39;扩展&#39;中获得了无效的模板名称。标签错误,我不知道为什么。
我已经通过在线搜索将我的settings.py文件更新为此,但仍然无效:
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',
],
},
},
]
答案 0 :(得分:4)
文件名应带引号
{% extends "base.html" %}
{% block content %}
{% endblock %}
你的settings.py中的应该是
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',
],
},
},
]