Flask中的Templates

1.什么是模板
  模板 , 在Flask 中就是允许响应给用户看的网页
  在模板中,允许包含"占位变量"来表示动态的内容
  模板最终也会被解析成字符串再响应给客户端,这一过程通常称为"渲染"

  Flask中的模板是依赖于 Jinja2 的模板系统
2.模板的设置
  默认情况下,Flask会在程序文件夹中的 templates 的子文件夹中搜索模板

  默认情况下,需要手动创建 templates 文件夹
3.模板的渲染
  作用:在视图中,将模板文件(xx.html)渲染成字符串之后,再响应给客户端浏览器
  使用与函数返回时:return render_template('xxx.html')

4.模板中的语法
  1.变量:变量是一种特殊的占位符,告诉模板引擎该位置的值是从渲染模板时的数据中获取出来的。

   在视图中 :
   @app.route('/')
   def index():
     return render_template('xxx.html',变量1=值1,变量2=值2,..)

     return render_template('xxx.html',name='laowang',age=35)
   在模板中 :
     {{变量名}}
     例如:<h1>{{name}}</h1>

  2.过滤器
   1.什么是过滤器:过滤器是允许在变量输出前改变变量的值
   2.语法
    {{变量|过滤器}}
    Jinja2 模板中常见过滤器:
      过滤器名              说明
      capitalize    首字符变大写,其他变小写
      lower          将值转换为小写
      upper         将值转换为大写
      title             将值中的每个单词首字符变大写
      trim       去掉值两边的空格

@app.route('/02-var')
def var():
    uname = "my name is zengsf"
    # 这里的locals()会把你所有的变量都封装成一个对象
    print(locals())
    return render_template('02-var.html',params = locals())

然后只需要去02-var.html文本中进行调用就可以了

<h1>capitalize:{{params.uname|capitalize}}</h1>

 

posted on 2018-11-08 23:51  zengsf  阅读(946)  评论(0编辑  收藏  举报

导航