美文网首页
Flask jinja2 模板2019-08-17

Flask jinja2 模板2019-08-17

作者: 党晨鹏 | 来源:发表于2019-08-18 14:11 被阅读0次

1.渲染模板

    为了让程序业务逻辑和表现逻辑分离,所以将html文件提取出来单独存放在templates目录下,通过flask提供的render_template('index.html', dict)函数将模板html进行渲染,而不能再使用字符串格式化或字符串拼接的方式为html插入变量。

    jinja2模板类型可以是任何格式的纯文本文件:HTML,XML,CSV,LaTex

2.模板语法

    Jinja2的定界符:

        {% %} -->添加if 或 for语句

        {{     }}-->添加的表达式(如:字符串、变量、函数)

        {# 注释 #}

    模板的继承

        {% extends ‘base.html’%}--->放在子模板的第一个标签位置

        {% block content %}  在父模板中木效果,在子模板中书写标签会覆盖父模板中标签;如果要在父模板的基础上添加内容,在块中第一行添加 {{ super() }}  {% endblock %}

        块可以为head、title、style、content、footer、script

        {% include '_nanner.html' %}-->局部模板以下划线开头,功能:插入局部模板内容

    Jinja2允许在模板中使用大部分的python对象

3.在模板中定义变量

    {% set navigation = [('/', 'Home'), ('/about', 'About')] %}

    {% set navigation %}

        <li><a  href='/'>Home</a></li>

         <li><a  href='/about'>About</a></li>

    {% endset %}

4.模板宏

定义宏函数和调用宏函数

5.过滤器

    jinja2内置的过滤器:https://www.jianshu.com/p/34910739251e

    自定义模板过滤器:https://www.cnblogs.com/chichung/p/9775099.html

6.测试器

     jinja2内置的测试器:http://www.ttlsa.com/python/flask-jinja2-template-engine-test/

7.url_for()函数的使用

    功能:用来获取URL

    在html中,添加为a标签的href,可改变html的显示:url_for('index') 传入的参数为视图函数的端点

    导入静态文件:url_for('static', filename='xx.jpg') 或使用宏导入静态资源

    作为从定向的参数:redirect(url_for('index'))

8.使用css框架

    从CDN加载静态文件可以调高服务器的访问效率,使用bootstrap时,css在头部导入,js建议在body结尾导入,导入js的顺序为jquery-->popper-->bootstrap

9.消息闪现

    在视图函数中设置:flash(u'Hello Flask')

    在模板中渲染flash消息

通过get_flashed_message()函数获得闪现消息内容

10.自定义错误页面

    错误处理函数需要附加@app.errorhandler(404)装饰器,并传入错误状态码作为参数。

flask的装饰器使用

11.在模板中自定义css和js

    只有使用render_template()传入的模板文件才会被渲染,单独的js或css文件,即使被引用到html中也不会被执行。

    解决方法1:在行内嵌入js或css(修改不方便)

    解决办法2:定义js或css变量(尚不清楚用法)

相关文章

  • templates(模板)

    jinja2 Flask中使用jinja2模板引擎jinja2是由Flask作者开发,模仿Django的模板引擎 ...

  • Templates 2018-08-28

    1. jinja2 Flask中使用jinja2模板引擎 jinja2是由Flask作者开发,模仿Django的模...

  • Flask模板引擎:Jinja2常用语法整理

    摘要:Flask,Jinja2,HTML Flask模板引擎Jinja2简述 模板实质上是一个静态的包含HTML语...

  • Flask jinja2模板

    Python Flask JIJIA2模板渲染 A.Flask渲染Jinja2模板和模板传参 如何渲染模板:Fla...

  • Flask框架学习之jinja2模板

    flask渲染jinja2模板和传参: 1、如何渲染模板: 模板放在“template”文件夹下。 从flask导...

  • Jinja2 变量 过滤器 测试器

    循环变量 上下文变量 模板全局变量 Jinja2 模板全局函数 Flask 模板全局函数 Jinja2 常用过滤器...

  • Flask - 07 模板

    Flask使用Jinja2 模板,并通过render_template()函数返回模板给客户端 Flask会在te...

  • Flask

    Flask 0.Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug ...

  • jinja2

    jinja2是Flask作者开发的一个模板系统,起初是仿django模板的一个模板引擎,为Flask提供模板支持,...

  • Flask渲染Jinja2模板和传参

    ### Flask渲染Jinja2模板和传参: 1. 如何渲染模板: * 模板放在`templates`文件夹下 ...

网友评论

      本文标题:Flask jinja2 模板2019-08-17

      本文链接:https://www.haomeiwen.com/subject/tvsrsctx.html