Bootstrap

Flask的jinjia2语句最详细容易理解教程

jinjia2

jinjia2语句来自flask框架下的一个模板组件
本次教程非常容易理解 适合咱们这些学废了

jinjia2简介

要了解jinja2,那么需要先理解模板的概念。模板在Python的web开发中广泛使用,它能够有效的将业务逻辑和页面逻辑分开,使代码可读性增强、并且更加容易理解和维护。

模板简单来说就是一个其中包涵占位变量表示动态的部分的文件,模板文件在经过动态赋值后,返回给用户。 --> 可以理解为渲染o/)

jinjin2分为三大语法块

{# #}----- 注释块
{% for %}或者 {%if %} -----循环
{{ }} -------变量取值

使用一个合理的语法

在py文件中我们创建变量 要取值显示到某个文件下的html下中 返回
return render_.______到html中
用到{{ }}----放入变量取值

循环的块

下面是一个简单的jinja2循环例子

{% for file in filenames %}

{{ }}

---------//放入的变量 {% endfor %}

或者循环中嵌套–else

{% for file in filenames %} {{%if _|leng>=3%}}---------//判断空格时写的变量 是否长度大于等于3

{{ }}

---------//放入的变量 {%end for%}---结束for循环
  • {{ }}
  • ----else的输出内容 {% end if %}----结束if判断

    0#jinja2变量

    jinja2模板中使用 {{ }} 语法表示一个变量,它是一种特殊的占位符。当利用jinja2进行渲染的时候,它会把这些特殊的占位符进行填充/替换,jinja2支持python中所有的Python数据类型比如列表、字段、对象等。

    jinja2中的过滤器

    变量可以通过“过滤器”进行修改,过滤器可以理解为是jinja2里面的内置函数和字符串处理函数。

    常用的过滤器有:

    过滤器名称 说明
    safe 渲染时值不转义
    capitialize 把值的首字母转换成大写,其他子母转换为小写
    lower 把值转换成小写形式
    upper 把值转换成大写形式
    title 把值中每个单词的首字母都转换成大写
    trim 把值的首尾空格去掉
    striptags 渲染之前把值中所有的HTML标签都删掉
    join 拼接多个值为字符串
    replace 替换字符串的值
    round 默认对数字进行四舍五入,也可以用参数进行控制
    int 把值转换成整型

    那么如何使用这些过滤器呢? 只需要在变量后面使用管道(|)分割,多个过滤器可以链式调用,前一个过滤器的输出会作为后一个过滤器的输入。

    jinja2的继承和Super函数

    <!DOCTYPE html>
    <html lang="en">
    <head>
        {% block head %}
        <link rel="stylesheet" href="style.css"/>
        <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>
    
;