内容简介:在项目根目录下创建一个如果不想把模板放在这个目录下的话,那么可以在初始化上面这种写法不够优雅,还可以修改成使用关键字参数
flask -- jinja2模板
模板导入
在项目根目录下创建一个 templates
目录,flask会自动在这里寻找模板
如果不想把模板放在这个目录下的话,那么可以在初始化 flask
的时候指定 template_folder
来指定模板的路径
模板传递参数
使用 render_template
渲染模板的时候可以传递 关键字参数
到模板文件中
关键字参数的方法
1. 直接添加到视图函数中
# 省略初始化
@app.route('/template')
def template():
return render_template('index.html',foo='hello, world!')
<!-- 省略其他标签 -->
<p>{{ foo }}</p>
- 使用字典(关键字参数比较多的时候)
# 省略初始化
@app.route('/template')
def template():
context={
'author':'ding',
'age':18,
'say':'hello, world!'
}
return render_template('index.html',context=context)
<!-- 省略其他标签 -->
<p>{{context.author}}</p>
<p>{{context.age}}</p>
<p>{{context.say}}</p>
上面这种写法不够优雅,还可以修改成使用关键字参数
# 省略初始化
@app.route('/template')
def template():
context={
'author':'ding',
'age':18,
'say':'hello, world!'
}
return render_template('index.html',**context)
<!-- 省略其他标签 -->
<p>{{author}}</p>
<p>{{age}}</p>
<p>{{say}}</p>
模板中使用url_for
在jinja2模板中使用 url_for
和在视图函数中使用是基本相同的
语法: {{url_for('视图函数名称',[其他参数])}}
# 省略初始化
@app.route('/')
def hello_world():
return render_template('index.html')
@app.route('/login/')
def login():
return render_template('login.html')
<!-- 省略其他标签 -->
<!-- index.html -->
<a href="{{ url_for('login') }}">click me</a>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 设计模式总结:模板方法
- 网站模板 | 现代时尚创新创意投资组合HTML5模板设计
- ReportLibrary 报表模板库新增 21 张报表模板,加入报表导出功能!
- ReportLibrary 报表模板库新增 21 张报表模板,加入报表导出功能!
- 工具集核心教程 | 第五篇: 利用Velocity模板引擎生成模板代码
- Word 模板引擎 poi-tl V1.3.0 发布,新增模板语法
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
网络是怎样连接的
[日]户根勤 / 周自恒 / 人民邮电出版社 / 2017-1-1 / CNY 49.00
本书以探索之旅的形式,从在浏览器中输入网址开始,一路追踪了到显示出网页内容为止的整个过程,以图配文,讲解了网络的全貌,并重点介绍了实际的网络设备和软件是如何工作的。目的是帮助读者理解网络的本质意义,理解实际的设备和软件,进而熟练运用网络技术。同时,专设了“网络术语其实很简单”专栏,以对话的形式介绍了一些网络术语的词源,颇为生动有趣。 本书图文并茂,通俗易懂,非常适合计算机、网络爱好者及相关从......一起来看看 《网络是怎样连接的》 这本书的介绍吧!