Flask框架中的jinja2 - super() 的用法
2018-08-30 本文已影响65人
Dozing
-
首先写好base.html这个基模板
-
子模板继承基模板:{% extends ‘base.html’%}
-
基模板里面有设置好{% block XXX %}块的地方,子模板可以调用
-
子模板调用可以直接{% block XXX %}后写入自己的内容,如果也可以利用{{ super()}}加载基模板的后续内容。
例子:
基模板:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="en">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
{% block head %}
<link rel="stylesheet" href="style.css" />
<title>{% block title %}{% endblock %} - My Webpage</title>
{% endblock %}
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">
{% block footer %}
© Copyright 2008 by <a href="http://domain.invalid/">you</a>.
{% endblock %}
</div>
</body>
子模板:
{% extends 'base.html' %} --继承基模板
{% block footer %} --调用基模板的借口
change myself --显示自己的内容
{{ super() }} --然后再加载基模板的内容
{% endblock %}
{{ super()}}就是将整个接口的内容直接复制过来。