下面我将为您详细介绍Python的Flask框架中的Jinja2模板引擎学习教程。
Jinja2是Python语言中一种基于模板的高性能、健壮、可扩展的模板引擎。它利用简单的语法糖和强大的功能,使得在Web开发中使用模板变得简单、易用并且高效。
pip install Flask
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/hello/<name>')
def hello(name):
return 'Hello {}!'.format(name)
@app.route('/template/<name>')
def template(name):
return render_template('template.html', name=name)
if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html>
<head>
<title>Jinja2</title>
</head>
<body>
<h1>Hello {{ name }}!</h1>
<ul>
{% for i in items %}
<li>{{ i }}</li>
{% endfor %}
</ul>
</body>
</html>
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/template/<name>')
def template(name):
items = ['apple', 'banana', 'orange']
return render_template('template.html', name=name, items=items)
if __name__ == '__main__':
app.run()
return render_template('template.html', name=name, items=items)
http://127.0.0.1:5000/template/Bob
Hello Bob!
* apple
* banana
* orange
<!DOCTYPE html>
<html>
<head>
<title>Jinja2</title>
</head>
<body>
<h1>Hello {{ name }}!</h1>
{% if items %}
<ul>
{% for i in items %}
<li>{{ i }}</li>
{% endfor %}
</ul>
{% endif %}
</body>
</html>
下面给出两个使用Jinja2模板引擎的例子:一个是传递一个变量,另一个是传递一个列表。
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/hello/<name>')
def hello(name):
return render_template('hello.html', name=name)
if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html>
<head>
<title>Jinja2</title>
</head>
<body>
<h1>Hello {{ name }}!</h1>
</body>
</html>
上述示例通过URL传递了一个变量name,这个变量通过render_template()函数传递给了Jinja2模板。在模板中使用{{ name }}来代表这个变量。
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/list/<name>')
def list(name):
items = ['item1', 'item2', 'item3']
return render_template('list.html', items=items)
if __name__ == '__main__':
app.run()
<!DOCTYPE html>
<html>
<head>
<title>Jinja2</title>
</head>
<body>
{% for item in items %}
<p>{{ item }}</p>
{% endfor %}
</body>
</html>
上述示例通过URL传递了一个变量name,然后传递了一个列表items。在模板中使用{% for item in items %}...{% endfor %}来遍历这个列表,并用{{ item }}来代表每个元素。
以上就是Python的Flask框架中的Jinja2模板引擎学习教程的详细攻略,希望可以对您有所帮助。
本文链接:http://task.lmcjl.com/news/15592.html