您现在的位置:首页 >> 前端 >> 内容

flask成长记(二)

时间:2017/2/24 22:23:00 点击:

  核心提示:flask成长记(二)蜗牛真的是蜗牛啊,就jinja2这么个东西也抽象的暂且理解不了。不过也真是,你弄那么复杂干什么啊?说的装逼的。这么理解jinja2这个东西:先把引擎这俩字儿抛开。一般情况下,会有...

flask成长记(二)

蜗牛真的是蜗牛啊,就jinja2这么个东西也抽象的暂且理解不了。

不过也真是,你弄那么复杂干什么啊?说的装逼的。

这么理解jinja2这个东西:先把引擎这俩字儿抛开。

一般情况下,会有你提交给服务器东西,服务器存入到数据库和服务器返回给用户数据这两个操作。

模板是用在后面这个返回给用户这个操作。

你总不可能在函数中返回一堆HTML代码吧?虽然这的确可以。

于是也不知道哪个发明了模板,分离了前台和后台,前台的人做好html,后边儿得人弄后台。

但是前后台怎么联系呢?

前台的HTML文件留出若干个空位,后台的人拿到这个有空位的HTML文件,把需要的数据填上去,返回给用户。

那么填数据这个动作就是渲染。

是的你没听错,听起来那么高大上的渲染其实就是个很low的填空空。

jinja2识别的变量

Jinja2 能识别所有类型的变量:


A value from a dictionary: {{ mydict['key'] }}.

A value from a list: {{ mylist[3] }}.

A value from a list, with a variable index: {{ mylist[myintvar] }}.

A value from an object's method: {{ myobj.somemethod() }}.

过滤器

可以使用过滤器修改变量,过滤器名添加在变量名之后,中间使用竖线分隔。例如,下述
模板以首字母大写形式显示变量 name 的值:

Hello, {{ name|capitalize }}

常用的过滤器

safe 渲染值时不转义
capitalize      把值的首字母转换成大写,其他字母转换成小写
lower           把值转换成小写形式
upper           把值转换成大写形式
title           把值中每个单词的首字母都转换成大写
trim            把值的首尾空格去掉
striptags       渲染之前把值中所有的 HTML 标签都删掉
完整的过滤器列表可在 Jinja2 文档( https://jinja.pocoo.org/docs/templates/#builtin-filters)中
查看。

控制结构

Jinja2 提供了多种控制结构,可用来改变模板的渲染流程。本节使用简单的例子介绍其中
最有用的控制结构。

下面这个例子展示了如何在模板中使用条件控制语句:
{% if user %}
    Hello, {{ user }}!
{% else %}
    Hello, Stranger!
{% endif %}
另一种常见需求是在模板中渲染一组元素。下例展示了如何使用 for 循环实现这一需求:
  • {% for comment in comments %}
  • {{ comment }}
  • {% endfor %}

Tags:FL LA AS SK 
作者:网络 来源:Leo_cumt的博
  • 上一篇:RGB颜色对照表
  • 下一篇:文件夹命名规范