主页 > 知识库 > Flask中jinja2的继承实现方法及实例

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

热门标签:电话运营中心 呼叫中心市场需求 企业做大做强 百度AI接口 语音系统 硅谷的囚徒呼叫中心 客户服务 Win7旗舰版

在继承的使用上,我们最早接触的是父类和子类的继承。不过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的继承如何实现内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

标签:安康 山西 长沙 喀什 济南 山西 海南 崇左

巨人网络通讯声明:本文标题《Flask中jinja2的继承实现方法及实例》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266