flask----继承和bock

flask模板语法与继承 flask模板语法与继承. 阅读详情

简单的来说模板继承包含基本模板和子模板。其中基本模板里包含了你这个网站里的基本元素的基本骨架,但是里面有一些空的或者是不完善的块(block)需要用子模板来填充。

基本模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .nav{
            background:black;
            height: 65px;
        }
        ul{
            overflow: hidden;
        }
        ul li {
            float: left;
             list-style: none;
             padding: 0 40px;
            line-height: 65px;
        }
        ul li a
        {
            color: white;
        }
    </style>
</head>

<body>
<div class="nav">
    <ul>
        <li><a href="#">首页</a></li>
         <li><a href="#">发布问答</a></li>
    </ul>

</div>
{% block main %}
{% endblock %}
</body>
</html>
子模版 index.html

{% extends 'base.html' %}
{% block main %}
<h1>这是主页面</h1>
{% endblock %}
login.html

{% extends 'base.html' %}
{% block main %}
<h1>这是登陆页面</h1>
{% endblock %}


#encoding:utf-8
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)










【python】flask模板渲染引擎Jinja2中的模板继承,简化前端模块化开发 多个模板具有完全相同的顶部和底部内容。 多个模板中具有相同的模板代码内容,但是内容中部分值不一样,弹窗。 多个模板中具有完全相同的 html 代码块内容,侧边栏。 像遇到这种情况,可以使用 JinJa2 模板中的 模板继承来进行实现。 大大缩减了冗余代码,实现相同效果。 阅读详情

相关推荐

SPSS_Process—简单&平行&链式中介模型

本篇文章介绍采用SPSS的插件Process对简单中介、链式中介、平行中介模型进行检验的操作方法及结果解读。

m0_54401011的博客 4万+

flask模板继承

⽗模板: food_layout.html。

qq_42307546的博客 152

别再乱设阻尼了!Abaqus动力分析中瑞利阻尼的α和β到底怎么算?

本文深入解析Abaqus动力分析中瑞利阻尼参数α和β的科学计算方法,帮助工程师准确设置阻尼参数以提升仿真精度。详细介绍了基于模态阻尼比的经典计算方法和多模态优化法,并结合工程案例演示参数设置流程,避免常见的阻尼设置误区。

weixin_42634811的博客 731

Flask框架【模板继承、继承模板实战、装饰器、蓝图(介绍、单文件、目录结构、模版文件、静态文件 url_for函数子域名实现)】(五)

Python框架【模板继承、继承模板实战、装饰器、蓝图(介绍、单文件、目录结构、模版文件、静态文件 url_for函数子域名实现)】(五)

abc19991119的博客 1496

COMSOL求解器实战:如何避免非线性问题求解失败(附牛顿法调试技巧)

本文深入探讨了COMSOL求解器在处理非线性问题时常见的失败原因及解决方案。通过分析物理模型非线性特性、初始条件敏感性和求解器参数配置,提供了牛顿法调试的黄金四步法,包括模型检查、分阶段求解、参数调优和高级诊断工具应用。特别针对材料非线性、几何非线性和多物理场耦合等典型工程场景,给出了实战技巧和预防性建模策略,帮助工程师有效避免求解失败。

weixin_29284657的博客 419

宿舍网速跑不满?可能是PPPoE的锅!实测OpenWrt切换DHCP+深澜认证,轻松跑满校园百兆宽带

本文探讨了校园网PPPoE协议的性能瓶颈问题,并提供了通过OpenWrt路由器切换DHCP+深澜认证的技术方案,实测可显著提升网速至百兆宽带满速。文章详细介绍了配置步骤、性能对比及常见问题解决方案,帮助用户优化校园网体验。

weixin_31310913的博客 383

Flask模板语法与继承

flask2

m0_63302973的博客 728

树莓派用网线连着电脑,但是找不到它的ip 以及设置静态IP

第一次的话,树莓派默认是没有ssh的。需要把内存卡取出来,新建一个ssh文件,这个简单,新建一个txt文件重命名就好了。 如果前面配置了连接wifi的conf文件,它是会自动去连接wifi的,wifi连不上,它才会去尝试有线连接。所以把它的wifi关了,才会自动用网线连接。 另外,建议设置静态ip连接,这样避免网络连接突然中断。具体在etc/dhcpcd.conf文件中,把这几行前面的#去掉,然后后面的信息改成自己的就好了。 具体改法: 第一行是ip地址,这个找到自己电脑的ip段,然后改后面两个数字就好了

wander_ing的博客 1万+

Flask 入门6:模板继承

然后针对子模板需要重写的地方,则定义成了 block,比如以上定义了 title、head、body、footer 这几个 block,子模板在继承了父模板后,重写对应 block 的代码,即可完成子模板的渲染。比较好的做法是,通过模板继承,把一些重复性的代码写在父模板中,子模板继承父模板后,再分别实现自己页面的代码。如果子模版想要继承父模板中某个 block 的内容,比如以上案例中,我们想要继承父模板 footer 这个 block 中已有的内容,则可以通过。以上示例代码中,h1 标签中通过。

我の博客 1070

usb设备的定位信息获取

一个usb hub有20个口,每个口有一个标号,那么如果一个为X的标号插入了一个android设备,如何通过函数,得到这个X,代码实现如下,获取了location, 得到类似 Port_#0002.Hub_#0003 的字符串,然后,要对应一个表。

babytiger的专栏 2106

systermverilog中for循环中的fork join执行情况分析

仅为本人学习记录,如有错误感谢指正!

qq_63807221的博客 1461

Flask(jinja2)——模块继承

Jinja 中最强大的部分就是模板继承。模板继承允许你构建一个包含你站点共同元素的基本模板“骨架”,并定义子模板可以覆盖的块。

小陈从不熬夜 997

老款 NUC 复活计划:装 Ubuntu 部署 OpenClaw 本地 AI

老款 NUC 变身本地 AI 服务器指南 本文详细介绍了如何将老旧华硕 NUC 设备改造为本地 AI 服务器。主要内容包括: 硬件评估:列出老款 NUC 的最低配置要求(i3 6代/8GB内存/256GB SSD),并提供兼容性检查命令和性能预期表 系统准备:指导备份数据、下载 Ubuntu 22.04 LTS 和制作启动盘的方法(Windows/Linux双平台) 安装流程:从 BIOS 设置到 Ubuntu 安装的完整步骤,包括推荐的分区方案 系统优化:禁用不必要的服务、内核参数调优、Swap 配置和

博客 7608

逻辑Flask——模板继承

Flask-模板继承 include marco block

pick_ears的博客 1538

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python flask之模板继承详解!

为什么要用模板继承?原因很简单,因为模板继承能让我们在实现效果的前提下少些很多代码! 咱废话不多说,先来看个小例子,看完我讲的这个例子,相信你能更加明白模板继承的好处、优点!(为了让大家能够更加明白模板继承的优点,在这里我先以传统方式来做) 首先、在static目录下新建一个style目录(用于存放所有的css文件),然后新建一个style文件(style.css),其代码如下: *{ma...

阿汤哥 5784

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Python Flask 简明教程(8)--模板之继承

本文目录1. 前言2. 创建项目3. 创建基模板4. 继承模板5. 开发app.py6. 小结 1. 前言 静态网页的内容是静态的,所以如果有像导航栏这种每个页面都需要的固定内容,也还是不得不在每个页面编写一遍。 这除了会导致代码非常臃肿,还会让修改变得很繁琐,如果想修改导航中的一个链接,也不得不修改所有包含导航的页面。 使用动态网页技术中的模板,可以轻松的解决这个问题,FLask的模板继承在解决这个问题上更是非常的简洁。 2. 创建项目 首先创建flask-temp文件夹,用于演示模板继承功能。 在fla

编程副队长 1057

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Flask——模板的继承

先说模板的继承,定义一个父模板(命名为“father.html”),其格式为: {% block top %} {% endblock top %} {% block content %} {% endblock content %} {% block bottom %} {% endblock bottom %} 定义一个子模板(命名为“son.html”),其格式为: {% extends "father.html" %} {% block top %} {% endblock top %} 下

活动的笑脸的博客 1275

flask-模版继承详解

base:&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;知了课堂&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;p&amp

qq_27110607的博客 3204

flask jinja2 - 入门&高级玩法(继承、宏)

最近入坑flask,jinja2作为其默认支持的模板语言,绝对值得一学。 本文适合还未接触想快速尝试一下(不想看官文)的同学。

wjs7740的专栏 6943

flask——模版继承

flask模版继承学习

zzzzqqqq00的博客 402

flask模型继承

描述:写一个cat,和dog的模型,让他继承animal类 from exts import db class Animal(db.Model,db.dbHelper): ##父类抽象化 abstract=True id=db.Column(db.Integer,primary_key=True) name=db.Column(db.String(20)) age=db.Column(db.In...

weixin_43729284的博客 679

flask--模块继承

Jinja2 的模板继承的特点,这允许我们把所有模板公共的部分移除出页面的布局,接着把它们放在一个基础模板中,所有使用它的模板可以导入该基础模板。可以这么理解,就是在一个html文档中已经写好了框架,然后要往里面塞东西时,先用&lt;% block blockname %&gt;&lt;% endblock %&gt;来放一个空的块在这里,作为基础模块,接下来被别的子模块导入的时候,用子模块里名字...

__计算机小白__ 2271

Flask模板继承

模板可以继承,首先你需要有一个纯模板的base.html,里面没有任何数据,都是变量,来靠子模板进行填充。子模板只需要用base.html中标记的变量在自己的文件里进行改写增添即可。本次代码文件结构如下所示: 首先我们需要用到一个py文件,一个shouye.html用于刚进去就可以显示页面不报错,他可以很简单的是一个hello内容。然后需要一个base.html文件作为父模板,一个son.html作为子模板。通过对子模板的不断修改添加,便可以访问子模板的时候映射完整的父模板。 # 这是基模板.py #

qq_40844663的博客 457

flask框架的工作方式和一些概念

个人觉得学习一个新知识,基础知识很重要,也要抛开语言去理解原理。 整体的知识体系包括: 1**.http协议;前端基础**HTML、css、js等,能看懂会修改 2**.Unix/Linux操作系统**。包括基础的使用,毕竟是平台 3**.网络编程。**TCP/IP协议 4**.脚本语言**。语言基础,进阶,常用库,不同的框架,深入学习 5**.数据库**。基础知识,优化

when_september_ends的博客 5095

Flask中render_template的使用和模板的继承

ee

GeekLee的博客 3万+

flask学习笔记(六):继承模板和block的使用

继承的作用就是为了少写一些重复的代码,例如导航栏的实现就需要在模板中定义一个导航栏,其他页面使用继承即可: 新建一个base.html,而block main的部分就是导航栏下每个页面不同的接口,由每个页面负责实现。 剩下的index和login页面通过对base的继承即可 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; ...

观月执白 5425
上一篇: flask---过滤器(default length)
下一篇: 毕设---android按钮事件
JINKELA_
博客等级 码龄11年 75粉丝 178原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值