为什么我的Django模板继承不起作用?

时间:2016-05-23 07:37:29

标签: django django-templates

我正在使用Django1.8。

我无法覆盖version_tag文件中的base.html块。它始终显示为默认内容。

这是我base.html的简化版:

{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="{% static 'myApp/img/favicon.png' %}" rel="icon" type="image/png" />
    <title>{% block title %}{% endblock %}</title>

    <link rel="stylesheet" type="text/css" href="{% static 'myApp/lib/css/bootstrap.min.css' %}" />
    <link rel="stylesheet" type="text/css" href="{% static 'myApp/lib/css/themes/bootstrap.min.css' %}" />

    <script type="text/javascript" src="{% static 'myApp/lib/js/jquery.min.js' %}"></script>
</script>

  </head>
  <body>
    <div id="main">
      {% block menu %}
      {% include "myApp/menu.html" %}
      {% endblock menu %}
      <div id="container" class="container-fluid">
      {% block content %}
      {% endblock content %}
      </div>
    </div>
    {% block version_tag %}Default Version{% endblock version_tag %}
  </body>
</html>

在同一文件夹中,我有version_tag.html文件:

{% extends 'myApp/base.html' %}

{% block version_tag %}
V. 1.2.3
{% endblock %}

我错过了什么或做错了什么?为什么始终显示Default Version而不是V. 1.2.3

1 个答案:

答案 0 :(得分:1)

我能想到的只有两个可能的原因:

  1. 您的视图仍在尝试呈现base.html而不是您继承的html模板。

    只需更改视图即可调用正确的视图(version_tag.html

  2. 您真正尝试展示的模板仍然是继承自base.html而不是version_tag.html