python-Flask(jinja2)语法:模板继承

模板继承

[TOC]

语法

将模板公用的代码放在父模板base.html中,其他html页面通过继承父模板的方式避免重复的代码


语法:

父模板




    
    {% block title %}{% endblock %}
    {% block head %}{% endblock %}

    

模板的内容

{% block MainContainer %}{% endblock %}

子模板

 
{% extends 'base.html' %}

{% block title %}
 
{% endblock %}

 
{% block head %}
    
    
    
{% endblock %}

 
{% block MainContainer %}
    

这里是写具体内容的地方

{% endblock %}

例子

Flask代码: main.py

from flask import Flask,render_template
app = Flask(__name__)

@app.route('/')
def index():
    return render_template('index.html')

@app.route('/login')
def login():
    return render_template('login.html')

if __name__ == '__main__':
    app.run(debug=True)

父模板: base.html




    
    Title
    


    

    {% block MainContainer %}{% endblock %}


子模板: index.html

{% extends 'base.html' %}

{% block MainContainer %}
    

这里是首页

{% endblock %}

子模板: login.html

{% extends 'base.html' %}

{% block MainContainer %}
    

这里是注册页面

{% endblock %}

你可能感兴趣的:(python-Flask(jinja2)语法:模板继承)