返回顶部
首页 > 资讯 > 精选 >Jinja2过滤器和控制语句怎么使用
  • 797
分享到

Jinja2过滤器和控制语句怎么使用

2023-07-05 08:07:51 797人浏览 八月长安
摘要

本文小编为大家详细介绍“Jinja2过滤器和控制语句怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Jinja2过滤器和控制语句怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.过滤器的使用1.过

本文小编为大家详细介绍“Jinja2过滤器和控制语句怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Jinja2过滤器和控制语句怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1.过滤器的使用

1.过滤器和测试

python中,如果需要对某个变量进行处理,我们可以通过函数来实现。在模板中,我们则是通过过滤器来实现的。过滤器本质上也是函数,但是在模板中使用的方式是通过管道符号(|)来调用的。例如有个字符串类型变量name,想要获取他的长度,则可以通过 {name[length}}来获取,Jinja2会把name当做第一个参数传给length过滤器底层对应的函数。length是Jinja2内置好的过滤器,Jinja2中内置了许多好用过滤器,如果内置过滤器不满足需求,我们还可以自定义过滤器。我们先来学习下如何自定义过滤器,读者明白了过滤器的原理后,再去学习Jinja2内置过滤器就更能得心应手了。

2.过滤器

templates/filter.html
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>过滤器使用demo</title></head><body>{{ user.username}}-{{ user.username|length }}</body></html>
app.py
# render_template 渲染模板from flask import Flask, render_template app = Flask(__name__) class User:    def __init__(self, username, email):        self.username = username        self.email = email @app.route("/filter")def filter_demo():    user = User(username="小程xxx", email="xxx@qq.com")    return render_template("filter.html",user=user) if __name__ == '__main__':    app.run()
效果

Jinja2过滤器和控制语句怎么使用

3.自定义过滤器

       过滤器本质上是 Python的函数,他会把被过滤的值当做第一个参数传给这个函数,函数经过一些逻辑处理后,再返回新的值。在过滤器函数写好后,可以通过@app.template_ filter装饰器或者是app.add_template_filter函数来把函数注册成Jinja2能用的过滤器。这里我们以注册一个时间格式化的过滤器为例,来说明下自定义过滤器的方法。

app.py

# render_template 渲染模板from flask import Flask, render_templatefrom datetime import datetime app = Flask(__name__) # strftime:根据区域设置格式化本地时间# fORMat:格式化def datetime_format(value,format="%Y年%m月%d日 %H:%m"):    return value.strftime(format) app.add_template_filter(datetime_format,"dformat") class User:    def __init__(self, username, email):        self.username = username        self.email = email  # filter:过滤器@app.route("/filter")def filter_demo():    user = User(username="小程xxx", email="xxx@qq.com")    mytime=datetime.now()    return render_template("filter.html",user=user,mytime=mytime) if __name__ == '__main__':    app.run()

       上面我们定义了一个datetime_formt的函数,第一个参数是需要被处理的值,第二个参数是时间的格式,并且指定了一个默认值。然后下面通过app.add_template_filter,将datetime_format函数注册成了过滤器,并且这个过滤器的名字,叫做dformat。那么以后在模板文件中,就可以这样类似这样使用了:

templates/filter.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>过滤器使用demo</title></head><body><div>{{ user.username}}-{{ user.username|length }}</div><div>{{ mytime|dformat }}</div></body></html>
效果 

Jinja2过滤器和控制语句怎么使用

 2.控制语句

1.if

app.py 
# render_template 渲染模板from flask import Flask, render_template app = Flask(__name__) @app.route("/control")def control_statement():    age=17    return render_template("control.html",age=age) if __name__ == '__main__':    app.run()
templates/control.html
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body>{% if age>18 %}    <div>您已经满118岁,可以进入网吧!</div>{% elif age==18 %}    <div>您刚满18岁,需要父母陪同才能进入!</div>{% else %}    <div>您未满18岁,不能进入网吧!</div>{% endif %}</body></html>

注:

  • 可以注意到if语句结束后,需要加一个endif来关闭if代码块。这个跟python是有点不同的。

  • Jinja2中的代码缩进只是为了更加方便阅读。任何缩进都不是必须的。

Jinja2过滤器和控制语句怎么使用

2.for 

app.py

# render_template 渲染模板from flask import Flask, render_template app = Flask(__name__) @app.route("/control")def control_statement():    age = 17    books = [{        "name": "三国演义",        "author": "罗贯中"    },{        "name": "水浒传",        "author": "施耐庵"    }    ]    return render_template("control.html", age=age,books=books)if __name__ == '__main__':    app.run()
templates/control.html
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body> {% for book in books %}    <div>图书名称:{{ book.name }},图书作者:{{ book.author }}</div>{% endfor %} </body></html>

Jinja2过滤器和控制语句怎么使用

读到这里,这篇“Jinja2过滤器和控制语句怎么使用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: Jinja2过滤器和控制语句怎么使用

本文链接: https://lsjlt.com/news/350576.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Jinja2过滤器和控制语句怎么使用
    本文小编为大家详细介绍“Jinja2过滤器和控制语句怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“Jinja2过滤器和控制语句怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.过滤器的使用1.过...
    99+
    2023-07-05
  • Jinja2过滤器的使用、控制语句示例详解
    目录1.过滤器的使用1.过滤器和测试器2.过滤器templates/filter.htmlapp.py效果3.自定义过滤器效果  2.控制语句1.ifapp.py...
    99+
    2023-03-02
    Jinja2过滤器 Jinja2过滤器使用 Jinja2控制语句
  • Python Flask和JinJa2语法怎么使用
    这篇文章主要介绍“Python Flask和JinJa2语法怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Python Flask和JinJa2语法怎么使用”文章能帮助大...
    99+
    2023-07-06
  • PHP流程控制语句怎么使用
    在PHP中,流程控制语句用于根据不同的条件来执行不同的代码块。下面是一些常用的流程控制语句的使用方法:1. if语句:用于判断一个条...
    99+
    2023-09-05
    PHP
  • golang流程控制语句怎么使用
    本文小编为大家详细介绍“golang流程控制语句怎么使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“golang流程控制语句怎么使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。流程控制语句:1、if语句,由...
    99+
    2023-07-04
  • golang怎么控制语句
    Go语言(Golang)是一门快速、简单和高效的编程语言,具有很好的可读性和良好的并发性能,由于这些优势,Golang的应用在各种场景中越来越广泛。在这篇文章中,我们将了解Golang中的控制语句以及如何使用它们来控制程序的流程。Golan...
    99+
    2023-05-15
  • JavaScript流程控制语句怎么用
    这篇文章主要介绍“JavaScript流程控制语句怎么用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript流程控制语句怎么用”文章能帮助大家解决问题...
    99+
    2024-04-02
  • Python流程控制语句怎么用
    这篇文章主要介绍了Python流程控制语句怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python流程控制语句怎么用文章都会有所收获,下面我们一起来看看吧。Python 中有 while&nb...
    99+
    2023-06-30
  • Mysql流程控制语句的介绍和使用
    平时绝大部分时间可能都用不到Mysql的流程控制语句,但如果我们需要写存储过程的话,就会用到了。有了流程控制语句,mysql就能想其他编程语言一样写程序了。下面分别来介绍条件分支与循环体。条件分支mysql...
    99+
    2024-04-02
  • AngularJS怎么使用过滤器
    这篇文章给大家分享的是有关AngularJS怎么使用过滤器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、为什么使用过滤器? 在实际操作中,我们需要对统一数据源进行多次转换,比...
    99+
    2024-04-02
  • Shell过滤器怎么使用
    这篇文章主要介绍“Shell过滤器怎么使用”,在日常操作中,相信很多人在Shell过滤器怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Shell过滤器怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来...
    99+
    2023-06-09
  • MySQL 5.7 复制控制语句SET GLOBAL sql_slave_skip_counter怎么用
    小编给大家分享一下MySQL 5.7 复制控制语句SET GLOBAL sql_slave_skip_counter怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章...
    99+
    2024-04-02
  • SQL Server中如何使用控制语句
    SQL Server中如何使用控制语句,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.语句块(BEGIN…END)语句块语法如下: BE...
    99+
    2024-04-02
  • JavaWeb过滤器Filter怎么使用
    这篇文章主要介绍“JavaWeb过滤器Filter怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaWeb过滤器Filter怎么使用”文章能帮助大家解决...
    99+
    2024-04-02
  • java filter过滤器怎么使用
    在 Java 中使用过滤器(Filter)需要以下步骤:1. 创建一个类并实现 javax.servlet.Filter 接口。该接...
    99+
    2023-09-06
    java filter
  • Vue.js的过滤器怎么使用
    这篇文章主要介绍了Vue.js的过滤器怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue.js的过滤器怎么使用文章都会有所收获,下面我们一起来看看吧。一、过滤器作用过滤器用于进行文本内容格式化处理。二...
    99+
    2023-06-29
  • Vue中过滤器怎么使用
    这篇文章主要讲解了“Vue中过滤器怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Vue中过滤器怎么使用”吧!过滤器其本质其实就是函数,作用在于用户输入数据用户,能够进行处理,并且返回...
    99+
    2023-06-03
  • Shell脚本中条件控制和循环语句怎么用
    这篇文章主要介绍了Shell脚本中条件控制和循环语句怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。条件判断:if语句语法格式:if [ expres...
    99+
    2023-06-09
  • SQL约束控制语句怎么写
    SQL约束控制语句可以使用CREATE TABLE或ALTER TABLE语句来实现。下面是一些常见的约束控制语句的示例:1. PR...
    99+
    2023-09-22
    SQL
  • JavaScript逻辑控制语句怎么写
    这篇“JavaScript逻辑控制语句怎么写”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“JavaScript逻辑控制语句怎...
    99+
    2023-06-27
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作