Flask学习第二天(jinjia2)

一、Flask框架采用jinjia2模板进行页面渲染
在调用该模板进行渲染的时候需要导入render_template模块
使用render_template模块可以对参数进行传递
在前端接受参数的数据类型可以时,列表,字典,对象和变量
jinjia2允许使用过滤器对页面进行操作
safe:渲染内容不转义,设置为安全内容,在不安全页面中禁止使用,防止内容被篡改脱拖库
capitalize:把值的首字符转换为大写,其他字母为小写
lower:把值转换为小写形式
upper:把值转换为大写形式
title:将值中的每个单词首字母转换为大写
trim:去掉值的首尾空格
striptags:去掉值中的标签
二、jinja2对页面结构的控制
1,条件控制 {% if value%} 结构语句 {% endif %}
2,循环语句 {% for value in values%} 循环结构语句 {% endfor %}
(循环语句使用与页面的列表结构)
3,定义函数(宏操作) {% macro 函数名(参数)%} 函数体 {% endmacro %}
对于函数的操作,我们可以单独建立一个宏文件保存函数本身,调用的时候对其进行导入
4,模板继承
(1)建立母版 base.html 设置好结构,使用 {% block 继承名字(该名字命名可针对该段代码寓意) %} {% endblock%}
(2)在需要继承母版的子版使用 {% extends "base.html"%}来继承母版内容
(3)使用{% block 继承名 %} 继承内容 {%endblock%}
小知识点 super() 继承原母版内容
三、flask-Bootstrap
使用bootstrap修饰页面,bootstrap可以美化页面内容
需要使用pip install flask-bootstrap安装

flask的调用
from flask.bootstrap import Bootstrap

在调用完成后需要对对象进行实例化
app=Flask(__name__)
bootstrap=Bootstrap(app)
模板继承flask-bootstrap使用的时该模板加载后的一个base.html文件
{% extends "bootstrap/base.html" %}

在flask-Bootstrap基模板中的一些块
doc:整个HTML文档
html_attribs:<html>标签属性
html:<html>标签中的内容
head:<head>标签中的内容
title:<title>标签中的内容
metas:一组meta标签
style:层叠样式表
body_attribs:<body>标签中的内容
body:body标签的内容
navbar:用户定义的导航条
content:用户定义的页面内容
scripts:文档底部的havascript脚本声明


在衍生页面添加新的脚本代码示例:
{% block script %} #继承母版脚本
{{ super() }} #使用super添加新的脚本信息
<script type="text/javascript" src="my-script.js"></script>
{% endblock %}

猜你喜欢

转载自www.cnblogs.com/lzh1118/p/10630388.html