【发布时间】:2019-05-22 11:44:46
【问题描述】:
我有一个名为exercise_tracker 的应用程序,并希望使用两个模板扩展我的base.html:exercise_list.html 和footer.html。对于exercise_list.html,我没有为footer.html 设置view。
它不会呈现footer.html 的内容。你能告诉我我做错了什么吗?
views.py
from django.shortcuts import render
from django.utils import timezone
from .models import Exercise
def exercise_list(request):
exercises = Exercise.objects.filter(published_date__lte=timezone.now()).order_by('published_date')
return render(request, 'exercise_tracker/exercise_list.html', {"exercises": exercises})
base.html
<html>
<body>
{% block content %}
{% endblock %}
{% block footer %}
<p>Footer placeholder</p>
{% endblock %}
</body>
</html>
exercise_list.html
{% extends 'exercise_tracker/base.html' %}
{% block content %}
<table>
{% for exercise in exercises %}
<tr>
<td>{{ exercise.date_learned }}</td>
<td>{{ exercise.time_studied }}</td>
<td>{{ exercise.language_learned }}</td>
<td>{{ exercise.description|linebreaksbr }}</td>
</tr>
{% endfor %}
</table>
{% endblock %}
页脚.html
{% extends 'exercise_tracker/base.html' %}
{% block footer %}
<p>Footer</p>
{% endblock %}
【问题讨论】:
-
我认为两个扩展不能一起工作。您可以对主要内容使用扩展,并使用包含标签添加页眉和/或页脚。
标签: python django django-templates django-2.1