• 模板渲染和参数


    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)

    返回结果:

       

  • 相关阅读:
    js 中基本数据类型和引用数据类型 ,,,, js中对象和函数的关系
    something
    js 的constructor属性
    js 的prototype 属性和用法,外加__proto__
    js 获取一下url里面的一些内容
    js 终于明白变量提升的概念了
    动态设置小程序的 标题
    Vue axios调用第三方接口跨域解决
    css translate的一些问题 这其实可以用在,不知道div宽高的情况,从而让其上下,左右都居中。
    用css3写一个可以无限旋转的div或者图片
  • 原文地址:https://www.cnblogs.com/hujc/p/11257020.html
Copyright © 2020-2023  润新知