详解瓶入门模板引擎

  


  

  

说明:模板文件就是按照一定的规则书写的展示效果的HTML文件模板引擎就是负责按照指定规则进行替换的工具

  

模板引擎选择jinja2

  


  

  

1,将渲染的模板进行返回
  

        render_template ()      

2,渲染字符串返回
  

        render_templates_string ()      

实例         @app.route (“/?   def指数():   #将模板内容响应给用户   返回render_template (index . html)   #渲染一内容响应给用户   返回render_template_string (' & lt; h2在原谅色& lt;/h2>”)   之前      


  

  

模板中只存在俩种语法

  

1,变量

  

{{var}}
  

        #像模板文件中传参   返回render_template (index . html, title=笆锥瘛?   {{标题}}   之前      

2,标签
  

  

{%标签名%}

  

注意:   

在模板中使用字典中的键需要像使用对象得方式来调用
  

  

{{数据。关键}}
  

  

如果在模板中给定的变量不存在则插入的是空字符串不会报错

  


  

  

过滤器使用管道符|来使用的

  

1, {{var | abs}}返回一个数值的绝对值
  

  

2,默认设置默认值

  

只有当给定的变量不存在时则执行默认值

  

当设置默认的布尔的时候会执行默认值

        & lt; li> {{data.bool |违约(“我是默认值”,布尔=True)}} & lt;/li>      

3,第一:取出变量中的第一个字符
  

  

4:取出变量中的最后一个字符
  

  

5,格式:字符的格式化

        & lt; li>{{'我叫% s我今年% d岁了我的存款为% .2f ' |格式(“罗铁汉”,38岁,23)}}& lt;/li>      长度:

6日返回变量值的长度
  

  

7,加入:拼接成字符串

        & lt; li>{{(1、2、3、4) |加入(")}}& lt;/li>   & lt; li>{{(1、2、3、4) |加入(x)}} & lt;/li>      

8、安全:不转义标签原样显示
  

  低转

9日为小写
  

  

10,上转为大写
  

  

11、替换替换

        & lt; li> {{data.string |取代(“a”、“x”)}} & lt;/li>      

12日striptages去除HTML标签
  

  

{{数据。html | striptags}}

  


  

  

语法格式:{%标签名%}
  

  

<强>(1)如果
  

  

实例         {%如果数据。bool %}   & lt; li>{{数据。bool}}值为真& lt;/li>   {% elif真正%}   & lt; li>{{真}}职位真& lt;/li>   {%其他%}   & lt; li>{{数据。bool}}值为假& lt;/li>   {% endif %}      

<强>(2)循环
  

  

实例         {%我的数据。xxxx %}   {#错误的迭代方法TypeError:“bool”对象不是iterable #}   {#{%我的数据。bool %} #}   & lt; li>{{我}}& lt;/li>   {%其他%}   & lt; li>当迭代的变量不存在时则执行else   {% endfor %}      

注意:   

打破持续不能够在这里使用

  

迭代字典
  

        {% k、v data.items () %}   & lt; li> {{k}}=在{{v}} & lt;/li>   {% endfor %}      

获取当前迭代的状态
  

  

           变量   描述               loop.index   获取当前迭代的索引从1开始         loop.index0   获取当前迭代的索引从0开始         loop.first   是否为第一次迭代         loop.last   是否为最后一次迭代         loop.length   迭代的长度            

  


  

  

{#多行注释#}

  


  

  

相当于把一个文件拷贝到当前的你的包含的位置

  

实例         {%包括“常见/头。html ' %}   & lt; div>我是中间的内容& lt;/div>   {%包括“常见/页脚。html ' %}

详解瓶入门模板引擎