下面我会详细讲解“Python Flask JinJa2 语法使用示例详解”这个完整攻略,并包含两个示例的说明。
Python Flask JinJa2 语法使用示例详解
什么是 JinJa2
JinJa2 是 Python 中一个非常流行的模板引擎,它是 Flask 框架所使用的默认模板引擎。
JinJa2 的基本语法
JinJa2 使用 {{}}
来输出变量内容,使用 {%%}
来表示控制流语句。下面我们来看一个简单的 JinJa2 示例代码:
{% if user %}
Hello {{ user }}!
{% else %}
Hello Stranger!
{% endif %}
这段代码中,我们使用 {% if %}
控制流语句来判断 user
是否存在,如果存在则输出 Hello
和 user
变量的内容,否则输出 Hello Stranger
。
JinJa2 变量的使用
在 JinJa2 中,我们需要使用 {{}}
来输出变量的内容。下面是一个 JinJa2 输出变量的示例代码:
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
</head>
<body>
<h1>{{ heading }}</h1>
<p>{{ content }}</p>
</body>
</html>
在上面这个示例代码中,我们使用了 {{ title }}
、{{ heading }}
和 {{ content }}
这三个变量来输出页面中的标题、标题文字和内容。
JinJa2 控制流语句的使用
JinJa2 中有多种控制流语句,下面我们来一一介绍。
if 语句
下面是一个 if 控制流语句的示例代码:
{% if user %}
<p>Welcome {{ user }}!</p>
{% endif %}
这个示例代码中,我们使用 {% if %}
控制流语句来判断 user
是否存在,如果存在则输出欢迎语。
for 循环
下面是一个 for 循环的示例代码:
{% for item in items %}
<li>{{ item }}</li>
{% endfor %}
这个示例代码中,我们使用 {% for %}
控制流语句来遍历 items
列表中的元素,并输出每个元素。
示例 1:输出一个名字
现在,我们来写一个简单的 Flask 程序,用 JinJa2 模板引擎来输出一个名字。下面是示例代码:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/hello/<name>')
def hello_name(name):
return render_template('hello.html', name=name)
if __name__ == '__main__':
app.run(debug=True)
其中,<name>
是一个动态路由参数,表示用户输入的名字。render_template
函数用来渲染我们定义的模板文件 hello.html
。
下面是 hello.html
模板文件的示例代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Flask Jinja2 Template Example</title>
</head>
<body>
<h1>Hello, {{ name }}!</h1>
</body>
</html>
在上面这个示例代码中,我们使用了 {{ name }}
这个变量来输出用户输入的名字。
现在,我们启动 Flask 程序,打开浏览器访问 http://localhost:5000/hello/yourname
,就可以看到输出的结果了。
示例 2:输出一个列表
现在,我们来写一个 Flask 程序,用 JinJa2 模板引擎来输出一个列表。下面是示例代码:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/list')
def show_list():
mylist = ['item1', 'item2', 'item3']
return render_template('list.html', mylist=mylist)
if __name__ == '__main__':
app.run(debug=True)
其中,mylist
是一个列表变量,用来存储我们要输出的内容。render_template
函数用来渲染我们定义的模板文件 list.html
。
下面是 list.html
模板文件的示例代码:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Flask Jinja2 List Template Example</title>
</head>
<body>
{% if mylist %}
<h1>My List:</h1>
<ul>
{% for item in mylist %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% else %}
<p>No items found.</p>
{% endif %}
</body>
</html>
在上面这个示例代码中,我们使用了 {% if %}
控制流语句和 {% for %}
控制流语句来输出我们定义的列表变量中的内容。
现在,我们启动 Flask 程序,打开浏览器访问 http://localhost:5000/list
,就可以看到输出的结果了。
以上就是本次的 Python Flask JinJa2 语法使用示例详解,希望对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python Flask JinJa2 语法使用示例详解 - Python技术站