Flask框架中的jinja2 - super() 的用法

2018-08-30  本文已影响65人  Dozing
  1. 首先写好base.html这个基模板

  2. 子模板继承基模板:{% extends ‘base.html’%}

  3. 基模板里面有设置好{% block XXX %}块的地方,子模板可以调用

  4. 子模板调用可以直接{% 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 %}
        &copy; Copyright 2008 by <a href="http://domain.invalid/">you</a>.
        {% endblock %}
    </div>
</body>

子模板:

{% extends 'base.html' %} --继承基模板
{% block footer %} --调用基模板的借口
 
 
change myself --显示自己的内容
{{ super() }} --然后再加载基模板的内容
 
{% endblock %}

{{ super()}}就是将整个接口的内容直接复制过来。

上一篇下一篇

猜你喜欢

热点阅读