赞
踩
模板是一个web
开发必备的模块。因为我们在渲染一个网页的时候,并不是只渲染一个纯文本字符串,而是需要渲染一个有富文本标签的页面。这时候我们就需要使用模板了。在Flask
中,配套的模板是Jinja2
,Jinja2
的作者也是Flask
的作者。这个模板非常的强大,并且执行效率高。
Jinja
模板:- from flask import Flask,render_template
- app = Flask(__name__)
-
- @app.route('/about/')
- def about():
- return render_template('about.html')
当访问/about/
的时候,about()
函数会在当前目录下的templates
文件夹下寻找about.html
模板文件。如果想更改模板文件地址,应该在创建app
的时候,给Flask
传递一个关键字参数template_folder
,指定具体的路径
- from flask import Flask,render_template
- app = Flask(__name__,template_folder=r'C:\templates')
-
- @app.route('/about/')
- def about():
- return render_template('about.html')
- from flask import Flask,render_template
- app = Flask(__name__)
-
- @app.route('/about/')
- def about():
- # return render_template('about.html',user='zhiliao')
- return render_template('about.html',**{'user':'zhiliao'})
- <html lang="en">
- <head>
- <title>My Webpage</title>
- </head>
- <body>
- <ul id="navigation">
- {% for item in navigation %}
- <li><a href="{{ item.href }}">{{ item.caption }}</a></li>
- {% endfor %}
- </ul>
-
- {{ a_variable }}
- {{ user.name }}
- {{ user['name'] }}
-
- {# a comment #}
- </body>
- </html>
比如在模板中有一个变量这样使用:foo.bar
,那么在Jinja2
中是这样进行访问的:
foo
的bar
这个属性,也即通过getattr(foo,'bar')
。foo.__getitem__('bar')
的方式进行查找。undefined
。在模板中有一个变量这样使用:foo['bar']
,那么在Jinja2
中是这样进行访问:
foo.__getitem__('bar')
的方式进行查找。getattr(foo,'bar')
的方式进行查找。undefined
。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。