首页 > 其他 > 详细

模板渲染和参数

时间:2019-07-27 23:47:16      阅读:109      评论:0      收藏:0      [点我收藏+]
1 ###Flask渲染Jinja2模板和传参:
2 1.如何渲染模板
3     *模板放在`templates`文件夹下,新建一个html文件。例如index.html
4     *从falsk中导入render_template函数#from flask import render_template
5     *在视图函数中,使用那个`render_template`
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 这是html文件显示的文字
 9 </body>
10 </html>
 1 from flask import Flask
 2 #导入render_template模块
 3 from flask import render_template
 4 
 5 app = Flask(__name__)
 6 
 7 @app.route(/)
 8 def hello_world():
 9     return render_template(index.html)#使用模板中创建的html文件
10 
11 if __name__ == __main__:
12     app.run()

返回结果:

技术分享图片

1 2.模板传参(2种方法)
2     *如果只有一个参数或者少量参数,直接在`render_template`函数中添加关键字参数就可以了
3     *如果是多个参数,可以把参数写在一个字典里,然后在`render_template`中使用**把字典转换成关键字参数传递进去,这样的代码更方便管理和使用。
1 3.在模板中,如果要使用一个变量,语法是{{}},例如{{params}}
2 4.访问模型中的属性或者字典,可以通过{{params.property}}的形式或者{{params[age]}}
 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6 </head>
 7 <body>
 8 这是一个html文件中出现的文字
 9 <p>用户名:{{ username }}</p>
10 <p>性别:{{ sex }}</p>
11 <p>年龄:{{ age }}</p>
12 <hr>
13 <p>姓名:{{person.name}}</p>
14 <p>年龄:{{ person.age }}</p>
15 
16 <hr>
17 <p>百度:{{websites.baidu }}</p>
18 <p>谷歌:{{websites.google }}</p>
19 </body>
20 </html>
 1 from flask import Flask
 2 from flask import render_template
 3 
 4 app = Flask(__name__)
 5 
 6 @app.route(/)
 7 def hello_world():
 8     class Person(object):
 9         name = uhjc
10         age = 20
11 
12     p = Person()
13     #多个参数用字典表示
14     contex = {
15         username : uhujc,
16         sex : u,
17         age :18,
18         person :p,
19         websites:{
20             baidu:www.baidu.com,
21             google:www.google.com
22         }
23     }
24     #参数少,可以现在下面
25     # return render_template(‘index.html‘,username=‘hujc‘,sex=‘男‘,age=18)
26     return render_template(index.html,**contex)
27     # return ‘Hello World!‘
28 
29 if __name__ == __main__:
30     app.run(debug=True)

返回结果:

   技术分享图片

 

模板渲染和参数

原文:https://www.cnblogs.com/hujc/p/11257020.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!