Flask中的Templates

Posted zengsf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>

 


























以上是关于Flask中的Templates的主要内容,如果未能解决你的问题,请参考以下文章

Flask 学习-4.templates 渲染模板

Flask模板include标签

12_关于flask中的宏

Flask中的实例化配置

Flask博客实战 - 实现登录注册功能

python-flask 后台传递用户信息显示在html中