模板渲染和参数

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 = u'hjc'
10         age = 20
11 
12     p = Person()
13     #多个参数用字典表示
14     contex = {
15         'username' : u'hujc',
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)

返回结果:

   

 

posted @ 2019-07-27 22:16  维特布朗尼  阅读(421)  评论(0编辑  收藏  举报