• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

python中Jinja2是什么?如何使用?

python 搞代码 4年前 (2022-01-09) 18次浏览 已收录 0个评论

本篇文章给大家带来的内容是关于python中Jinja2是什么?如何使用?,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

什么是Jinja2

Jinja2是Python下一个被广泛应用的模版引擎,他的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能。其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能,这对大多应用的安全性来说是非常重要的。

基于unicode并能在python2.4之后的版本运行,包括python3。

如何使用Jinja2

要想使用Jinja2模板,需要从flask导入render_template函数,然后在本文来源gaodai#ma#com搞*!代#%^码$网*路由函数中调用render_template函数,该函数第一个参数就是模板名字。模板默认保存在目录。

最简单的模板文件就是普通的HTML文件,但静态文件没什么意义,需要在访问路由时传入响应的参数,并在模板中以一定的样式显示在浏览器中,因此,需要用到render_template函数的关键字参数。假设有一个模板文件hello.html,代码如下:

<h1> hello,{{name}}.</h1>

这个用{{……}}括起来的部分就是模板表达式。在使用render_template函数调用模板文件hello.html时,需要通过关键字参数指定name值。

render_template('hello.html',name='star')

返回给客户端时,{{name}}会被替换成star.
网页输出代码

<h1> hello,star.</h1>

jinja2常用语法

1.变量显示语法: {{ 变量名 }}2. for循环:{% for i in li%}{% endfor %}3. if语句{% if user == 'westos'%}{% elif user == 'hello' %}{% else %}{% endif%}

数据显示

# templates目录里面建立mubna.html文件<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>hello</title></head><body><p>变量:{{ name }}</p><p>列表:{{ li }}</p><p>列表元素:{% for item in li  %}<br/>{{ item }}{% endfor %}</p><p>字典:{{ d }}</p><p>字典元素:{{ d.a }}{{ d['b'] }}</p><p>对象:{{ u }}</p><table>    <tr>        <td>用户</td>        <td>密码</td>    </tr>    <tr>        <td>{{ u.name }}</td>        <td>{{ u.passwd }}</td>    </tr></table></body></html>
from flask import Flask, render_templateapp = Flask(__name__)class User(object):    def __init__(self, name, passwd):        self.name = name        self.passwd = passwd    def __str__(self):        return  "<User: %s>" %(self.name)@app.route('/')def index1():    name = "sheen is cute !!"    li = [1, 2, 4, 5]    d = dict(a=1, b=2)    u = User("westos", "passwd")    return  render_template('muban.html',                            name = name,                            li = li,                            d = d,                            u = u                            )app.run()

模板中的过滤器

服务端给客户端返回的数据可能来自于多种数据源。这些数据格式可能并不能满足客户端需求,就需要对数据进行再加工。
过滤器需要放在模板表达式变量的后面,与变量之间用'|'分割,{{ vlaue|upper}}将value英文字母都转换为大写形式。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python中Jinja2是什么?如何使用?

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址