flask框架2(jinja2)

  • Jinja2:是 Python 下一个被广泛应用的模板引擎,是由Python实现的模板语言
  • Flask提供的 render_template 函数封装了该模板引擎
  • render_template 函数的第一个参数是模板的文件名,后面的参数都是键值对,表示模板中变量对应的真实值
  • 使用时导入:from flask import Flask,render_template
    可以直接作为返回值return render_template('flask_jinja2_01.html')
  • 使用
    • 模板内使用{{}} 来表示变量名,这种 {{}} 语法叫做变量代码块 {{dict['key']}}
    • 用 {%%} 定义的控制代码块,比如循环或者if语句
      if/else if /else / endif
      for / endfor
    • 使用 {# #} 进行注释
  • 过滤器
    • 过滤器的使用方式为:变量名 | 过滤器
      {{variable | filter_name(*args)}}
    • 如果没有任何参数传给过滤器,则可以把括号省略掉
    • 过滤器支持链式调用:{{ "hello world" | reverse | upper }}
  • 自定义过滤器
    • 通过Flask应用对象的 add_template_filter 方法:app.add_template_filter(方法函数名,‘自定义的过滤器名字’)
    • 通过装饰器装饰过滤器方法:@app.template_filter('自定义的过滤器名字')
  • if语句 过滤器可以用在语句中
    {%if xxx %}
        <a href='#'>xxx</a>
    {% else %}
        <a href='#'>xxx</a>
    {% endif %}
  • 循环
    {% for item in items %}
        <div>
            <h1>{{xxxx }}</h1>
            <p>{{ xxxx }}</p>
       </div>
    {% endfor %}
  • 继承
    • 父模板中写入block
              {% block top %} {% endblock %}
    • 子模板获取并重写
              {% extends 'base.html' %}
              {% block top %}
               #需要填充的内容
              {% endblock content %}

转载于:https://www.cnblogs.com/being-a-tester/p/10424920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值