render_templates
渲染模板
* 模板放在 templates 文件夹下
* 从 flask 中导入 render_templates 函数
* 在视图函数中,使用render_templates,只需要写模板 名称.html ,不需要写路径
除非是在templates下在创建子目录就需要把路径补充,以templates为根目录
@app.route('/') def hello_world(): return render_template('index.html')
参数传递
* 如果只有一个或者少量参数,直接在 render_templates 函数中添加关键字参数即可。
* 如果有多个参数,可以把所有的参数放在字典中,然后在 render_templates中使用“ **字典名 ” 转成关键参数传递进去。
* 在HTML模板中,如果使用一个变量让后台传参,HTML的语法是 “ {{params}}”
* 在HTML模板中的访问后台的属性或者字典,可以通过 {{params.property}}的形式,或者{{params['property']}}
@app.route('/') def index(): class Person(object): name = u'姚明' age = 22 p = Person() content = { 'username': u'霸气的男人名字', 'gender': u'男', 'age': '20左右', 'person': p, 'websites': { 'baidu': 'www.baidu.com', 'taobao': 'www.taobao.com' } } return render_template('index.html', **content)
<body> 这里就是HTML传来的!! <p>用户名: {{ username }}</p> <p>性别:{{ gender }}</p> <p>年龄:{{ age }}</p> <hr> <p>名字: {{ person.name }}</p> <p>年龄: {{ person.age }}</p> <hr> <p>百度: {{ websites['baidu'] }}</p> <p>淘宝: {{ websites['taobao'] }}</p> </body>