django模板继承问题求助

base.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">  
<html lang="en">  
<head>  
    <title>{% block title %}{% endblock %}</title>  
</head>  
<body>  
    <h1>My helpful timestamp site</h1>  
    {% block content %}{% endblock %}  
    {% block footer %}  
    <hr>  
    <p>Thanks for visiting my site.</p>  
    {% endblock %}  
</body>  
</html>  


{% extends "base.html" %}  
  
{% block title %}The current time{% endblock %}  
  
{% block content %}  
<p>It is now {{ current_date }}.</p>  
{% endblock %}  

很不理解 这个东西 怎么就继承了呢? base.html <title>{% block title %}{% endblock %}</title> 这么写是什么意思啊?

阅读 3.5k
2 个回答

你可以这样理解
base.html是母模版
a.html是子模板

{% block title %}{% endblock %}你可以理解为占位符或变量
只要你的a.html页面用{% extends "base.html" %} 继承了bash.html
在a.html里面就拥有了base.html里的所有内容,并且可以用{% block title %}abc{% endblock %}修改你子页面的值

你可以研究源码实现过程,至于 <title>{% block title %}{% endblock %}</title> 这里就是一个简单的Update机制

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题