Flask(五)flash在模板中使用继承,模板的模板

Project name :Flask_Plan

templates:templates

static:static

继续上一篇文章。

我们不希望每个页面都写一遍引入js,css,导航条………………

那么我们使用模板继承的方法。

首先修改templates/plan.html 为 templates/base.base

再创建一个plan.html

{%  extends ‘base.html‘ %}

代码真的只有这一行,别找了。

重新访问我们的页面。

你会发现和没改之前一样。

这个时候模板plan.html就继承了base.html当中的所有内容。

下面修改base.html,给基础模板留下位置标识,让继承这个模板的子模板,知道要修改什么地方内容。

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="utf-8">
 5     <meta http-equiv="X-UA-Compatible" content="IE=edge">
 6     <meta name="viewport" content="width=device-width, initial-scale=1">
 7     <title>Title</title>
 8     <!-- Bootstrap -->
 9     <link href="{{ url_for(‘static‘, filename=‘css/bootstrap.css‘)}}" rel="stylesheet">
10     <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
11     <!-- WARNING: Respond.js doesn‘t work if you view the page via file:// -->
12     <!--[if lt IE 9]>
13      <script src="{{ url_for(‘static‘, filename=‘js/html5shiv.min.js‘) }}"></script>
14      <script src="{{ url_for(‘static‘, filename=‘js/respond.min.js‘) }}"></script>
15     <![endif]-->
16     <!-- jQuery (necessary for Bootstrap‘s JavaScript plugins) -->
17     <script src="{{ url_for(‘static‘, filename=‘js/jquery-3.2.1.min.js‘) }}"></script>
18     <!-- Include all compiled plugins (below), or include individual files as needed -->
19     <script src="{{ url_for(‘static‘, filename=‘js/bootstrap.js‘) }}"></script>
20 </head>
21 <body>
22 <h1>这是计划页面</h1>
23 <img src="{{ url_for(‘static‘, filename=‘test.png‘) }}">
24 <!--以下两行为新增加-->
25 {% block main1 %}{% endblock %}
26 {% block main2 %}{% endblock %}
27 <!--以上两行为新增加-->
28 </body>
29 </html>

再修改plan.html

{%  extends ‘base.html‘ %}
{% block main1 %}
    <h1>这是main1提交的新内容</h1>
{% endblock %}
{% block main2 %}
    <h3>这是main2提交的新内容</h3>
{% endblock %}

好了,可以看到,我们可以在base这个基础模板中留下位置,给子模板,子模板可以在指定未知添加我们需要的内容。

原文地址:https://www.cnblogs.com/jackadam/p/8129246.html

时间: 2024-08-04 19:04:08

Flask(五)flash在模板中使用继承,模板的模板的相关文章

JAVA笔记整理(五),JAVA中的继承

1.继承的概念 继承是类与类的一种关系,是一种“is a”的关系 2.继承的好处 子类拥有父类的所有属性和方法,从而实现代码复用 4.方法的重写(Overridding) 如果子类对于继承自父类的方法不满意,是可以重写继承自父类的方法的,当调用方式时,会优先调用子类的方法 返回值类型.方法名和参数类型以及参数个数都与父类中的方法相同,才叫做方法的重写 5.继承的初始化顺序 1)先初始化父类,再初始化子类 2)先执行初始化对象中的属性,再执行构造方法中的初始化 6.final关键字 使用final

Flask08 包含(include)、继承(extends)、宏???、模板中变量的来源

1 包含 直接把另一个文件的内容,复制粘贴过来 {% include "模板路径" %} 注意:模板都是放在 templates 这个文件夹下面的,可以在里面新建文件夹来进行分离:    例如:{% include "include/header.html" %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"

django模板中的extends和include使用方法

一.extends使用方法 首先extends也就是继承,子类继承父类的一些特性.在django模板中通过继承可以减少重复代码. 首先我们建立一个app,名字叫做hello.别忘了在settings.py中的INSTALLED_APPS注册这个app.不注册会出现hello目录下的templates中的模板无法调用. 1.在根目录下的templates创建base.html <!DOCTYPE html> <html lang="en"> <head>

【《Objective-C基础教程 》笔记ch04】(五)OC中的继承inheritance机制

一.为什么需要继承 使用继承一方面继承了父类的特性,另一方便解决了重复代码维护问题. 二.继承之语法 1. @interface 子类名:父类名 2. OC只支持单继承,不支持继承多个父类. 3. 重构--移植和优化代码. 三. 继承的工作机制 1. 方法调度 子类拥有一个指向它父类的引用指针,消息传递时,OC的方法调度机制使用该信息来找到正确的实现方法,查找过程是现在子类中找,找不到再到父类中继续找. 2. 实例变量 1)继承实例源码 @interface Shape : NSObject {

Thinkphp回顾(五)之前台模板中的基本语法

一.导入CSS和JS文件 的三种方式  (了解) 1.link方式(常规) <link rel=’stylesheet’ type=’text/css’ href=’__PUBLIC__/Js/test.css/> <script src='__PUBLIC__/Js/test.js'></script> //导入Public文件夹下面的Js目录中的test.js文件和Css文件夹下的test.css文件 2.import <import type='js' fi

FlaskWebDevelopment - Flask模板4 - url_for()在模板中生成链接

这里讲用url_for()来简化在模板中生成链接的操作.以产生静态文件链接为例. url_for() 直接在模板里写URL,当页面复杂了之后很麻烦,而且可能对代码产生依赖,代码改动后链接就失效了. URL可以通过Flask提供的url_for()来动态产生.这个函数以视图函数名或者注册视图函数时的端点名作为参数,返回相应的URL. 比如在目前的代码中: url_for('index')返回\, url_for('index', _external=True)返回http://localhost:

Django(五)在模板中使用静态文件

location 最后一个文件夹名就是project名,我用了Django_Plan. Application 是自动加入的APP名字,我用了Plan 静态文件相关配置: Django_Plan\settings.py STATIC_URL = '/static/'#URL访问路径 STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static"),#URL对应的路径和URL名称设一致,编写相关代码时提示是正确的 ) 示例一个图片(1.png)

js 中的继承

面试的时候总是被问到js的继承,平时都是应用,最近有时间就把js 的继承整理了一下,和java 中的继承做了一下比较,代码如下: js继承有5种实现方式: 1.对象冒充 <script>   function Parent(username){      this.username = username;      this.hello = function(){        alert(this.username);      }    }    function Child(userna

模板中的名字查找问题

问题起源 先看下面很简单的一小段程序. `#include <iostream>` template <typename T> struct Base { void fun() { std::cout << "Base::fun" << std::endl; } }; template <typename T> struct Derived : Base<T> { void gun() { std::cout &l