zoukankan      html  css  js  c++  java
  • flask之模板之继承

    一:继承

      基类模板base.html  中在进行挖坑 {% block 坑的名字%}{% endblock %}

      子类模板test.html 中 通过 {% extends "base.html" %} 继承父类模板,然后进行填坑,{% block 坑的名字 %}{% endblcok %}

      填坑的方式有两种:

      1. 直接使用父类的坑,不进行更改,那就在子类中调用super()方法,显示父类同样位置坑的内容。

      {% block 坑的名字 %}{{ super() }}{% endblcok %}

      2. 使用父类的坑,并进行更改的,

      {% block 坑的名字 %}这是更改的内容{% endblcok %}

      实例:

    base.html

    <!doctype html>
    <html lang="zh-hans">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport"
              content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>Document</title>
    </head>
    <body>
    
        <div style="background-color: red">{% block head %}{% endblock %}</div> <br>
        <div style="background-color: yellow">{% block body %}{% endblock %}</div> <br>
        <div style="background-color: green">{% block foot %}{% endblock %}</div>
    </body>
    </html>

    test1.html

    {% extends 'base.html' %}
    
    {% block head %}
        <h1>这是继承父类模板的头部内容</h1>
    {% endblock %}
    
    {% block body %}
        <h2>这是继承父类的中间内容</h2>
    {% endblock %}
    
    {% block foot %}
        <h3>这是继承父类模板的底部内容</h3>
    {% endblock %}

    视图函数

    from flask import Flask
    from flask import request
    from flask import redirect
    from flask.ext.script import Manager
    from flask import render_template
    
    app = Flask(__name__)
    app.config["secret_key"] = "hard to guess"
    
    
    @app.route("/")
    def index():
        return "这是主页"
    
    
    @app.route("/test")
    def templates():
        return render_template("test1.html")
    
    
    if __name__ == "__main__":
        app.run(debug=True)

     浏览器显示

     对父类模板的div布局和样式进行了继承,同时子类模板中,还进行了文字内容的添加,以及文字大小的设置。

  • 相关阅读:
    get 传 json 数据
    go text/template html/template invalid memory address or nil pointer dereference
    (转)go语言变参,匿名函数的多种用法
    shell 定义变量 坑
    python3 使用aria2下载的一个脚本
    python3 selenium 超时停止加载,并且捕捉异常, 进行下一步【亲测有效】
    selenium学习笔记——driver.get(url) 页面加载时间太长
    python Selenium chromedriver 自动化超时报错:你需要使用多标签保护罩护体
    selenium等待
    小数据池与代码块
  • 原文地址:https://www.cnblogs.com/meloncodezhang/p/11724806.html
Copyright © 2011-2022 走看看