Flask框架二 Jinja2

1.简介:

 

什么是Jinja2,Jinja2起什么作用

Jinja2是Python下一个被广泛应用的模版引擎,且它自带一个感觉挺nb的转义功能

作用1.它起了让前端和后端分离的作用

2.减少了Flask项目代码的耦合性,页面逻辑放在模板中,业务逻辑放在视图函数中,

3.提供控制语句/继承等高级功能

Flask框架二 Jinja2_第1张图片

//Jijon的默认渲染路径是从template中找如果要改变,可以在Flask初始化的时候指定template_folder进行指定模板的路径

2.模板的渲染、传参

要渲染一个模板,可以通过render_template方法

render_template('xxx.html')

传参:

render_template('index.html',uanme(key)='momo')

页面取参

{ {key}}

当传递多个参数的时候可以将其以字典的形式封装,

count={

'name':'xxx',

'passwrod':'ppp',

'age':'18',

'shen':{

        'xxx':'ttt'         //总有闲人喜欢在搞点特殊调用的时候通过shen.xxx

}

}

 render_template('xxx.htm',**count)          //**可以将字典打散,然后直接掉key值就行,不用再加字典名称

3.模版中使用url_for

      模版中的`url_for`跟我们后台视图函数中的`url_for`使用起来基本是一模一样的。也是传递视图函数的名字,也可以传递参数。使用的时候,需要在`url_for`左右两边加上一个`{ { url_for('func') }}`

通常在a标签中使用

url_for后面跟着的两种参数传值

1.路径传值:   {# /account/login/tantan/   其中tantan为路径参数 #}
   
登录4

2.查询字串传值: 

  {# /account/login/tantan/?p1=lol&p2=daota #}登录5

只用name的值作作为key键值名转换为变量,其余的都是直接默认加在后面的参数

4.过滤器:简单对参数进行一些处理然后在返回出去

使用方法:在调用的后面加‘|’字符

基本语法:`{ { variable|过滤器名字 }}`。使用管道符号`|`进行组合。

{ { postion|abs}}p>

//常用发过滤器的种类及作用:

default(value,default_value,boolean=false):如果当前变量没有值,则会使用参数中的值来代替。name

你可能感兴趣的:(flask,python,后端)