Flask中jinja2的继承实现方法及实例

 更新时间:2021年03月03日 14:45:26   作者:小妮浅浅  
在本篇文章里小编给大家分享的是一篇关于Flask中jinja2的继承实现方法及实例,有兴趣的朋友们可以学习下。

在继承的使用上,我们最早接触的是父类和子类的继承。不过Flask框架中的继承要简单一些,只要有一个原文件,便可以对其进行继承和修改的操作了。在修改的内容方面,可以通过关键字来进行实现。下面我们就Flask中jinja2的继承的实现先进行理论的介绍,然后带来实例供大家练习。

1、说明

Jinja2中最强大的部分是模板继承。通过模板继承,我们可以创建一个基本(框架)文件,其他文件可以从中继承,然后再根据需要对其进行修改。

在jinja2的框架文件中,使用block关键字表示它包含的内容可以被修改。

2、实例

<!DOCTYPE html>
<html>
<head>
  {% block head %}
  <link rel="stylesheet" href="style.css" rel="external nofollow" />
  <title>{% block title %}{% endblock %} - My Webpage</title>
  {% endblock %}
</head>
<body>
<div id="content">{% block content %}{% endblock %}</div>
<div id="footer">
  {% block footer %}
  <script>This is javascript code </script>
  {% endblock %}
</div>
</body>
</html>

这里定义了四处 block,即:head,title,content,footer。那怎么进行继承和变量替换呢?注意看下面的文件

{% extend "base.html" %}    # 继承base.html文件
{% block title %} Dachenzi {% endblock %}  # 定制title部分的内容
{% block head %}
{
{ super() }}    # 用于获取原有的信息
<style type='text/css'>
.important { color: #FFFFFF }
</style>
{% endblock %}  
# 其他不修改的原封不同的继承

实例扩展:

jinja2模板继承

父亲:

<!DOCTYPE html>
<html>
<head>
 <title>模板继承</title>
</head>
<body>
 <span>这是基模板</span>
 <div id="content">{% block content %}{% endblock %}</div>
</body>
</html>

用{% block content %}{% endblock %}包含jinja2的字模板块;

子:

<!DOCTYPE html>
<html>
<head>
 <title>模板继承</title>
</head>
<body>
 {% extend "jinja2_模板继承.html"%}
 {% block content %}
 <p class="importtant">我在子模板</p>
</body>
</html>

{% extends "jinja2_模板继承.html"%}标签是这里的关键,告诉模板引擎这个模板继承自另外一个模板。该标签必须是子模板的第一个标签,解释器会自动将父亲的内容复制到子模板中!

结果应该是这样:

<!DOCTYPE html>
<html>
<head>
 <title>模板继承</title>
</head>
<body>
 <span>这是基模板</span>
 <div id="content">
   <p class="importtant">我在子模板</p>
  </div>
</body>
</html>

到此这篇关于Flask中jinja2的继承实现方法及实例的文章就介绍到这了,更多相关Flask中jinja2的继承如何实现内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 新年到教你如何用Python实现雪夜烟花景

    新年到教你如何用Python实现雪夜烟花景

    新年到,祝大家新年快乐,今天小编交大家如何用Python实现雪夜烟花景效果,实现代码真的很简单,感兴趣的朋友跟随小编一起看看吧
    2022-01-01
  • ITK 实现多张图像转成单个nii.gz或mha文件案例

    ITK 实现多张图像转成单个nii.gz或mha文件案例

    这篇文章主要介绍了ITK 实现多张图像转成单个nii.gz或mha文件案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python批处理更改文件名os.rename的方法

    Python批处理更改文件名os.rename的方法

    今天小编就为大家分享一篇Python批处理更改文件名os.rename的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python实现梯度法 python最速下降法

    python实现梯度法 python最速下降法

    这篇文章主要为大家详细介绍了python梯度法,最速下降法的原理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • 用Python实现群发邮件

    用Python实现群发邮件

    大家好,本篇文章主要讲的是用Python实现群发邮件,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-02-02
  • Python项目管理工具Rye的工作原理

    Python项目管理工具Rye的工作原理

    在开发Python项目时,有时会在一台电脑上,同时存在多个python项目,而且每个项目的python版本和依赖可能都不一样,此时需要使用python项目管理工具来进行管理,rye是一个python项目管理工具,本文简单介绍rye的工作原理
    2023-07-07
  • Python matplotlib的spines模块实例详解

    Python matplotlib的spines模块实例详解

    作为程序员,经常需要进行绘图,下面这篇文章主要给大家介绍了关于Python matplotlib的spines模块的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-08-08
  • 关于python3中setup.py小概念解析

    关于python3中setup.py小概念解析

    这篇文章主要介绍了关于python3中setup.py小概念解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • 使用Python编写基于DHT协议的BT资源爬虫

    使用Python编写基于DHT协议的BT资源爬虫

    这篇文章主要介绍了使用Python编写基于DHT协议的BT资源爬虫的方法,文中对于DHT协议的相关知识也作了补充说明,需要的朋友可以参考下
    2016-03-03
  • Python利用内置库实现数据的加密与校验

    Python利用内置库实现数据的加密与校验

    这篇文章主要为大家详细介绍了如何使用Python内置库实现数据的加密和校验,为开发者提供全方位的数据安全解决方案,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-12-12

最新评论