三阶段(day3)flask-装饰器、蓝图及模版

96
回忆1123
2019.03.07 09:19* 字数 430

day03

装饰器

1.外层函数嵌套内层函数

2.外层函数返回内层函数

3.内层函数调用外层函数

4.外层函数传入的参数即为被装饰的函数

例如:
from functools import wraps

def is_login(func):
    @weaps(func)
    def check():
        return func()

    return cheeck

蓝图

产生背景:管理路由地址

安装:pip install flask-blueprint

第一步:from flask import Blueprint

第二步:blue = Blueprint('first',__name__name) @blue.route('路由地址')

第三步:flask对象app.register_blueprint(blueprint=blue)

有参跳转:redirect(url_for('生成蓝图的第一个参数,跳转的函数名称',参数名=值,参数名2=值2))

无参数跳转:redirect(url_for('生成蓝图的第一个参数,跳转的函数名称'))

2.模版

父模版

定义:网站模版的大体框架,定义可以被动填充内容的block

block定义:{% block name %}{% endblock %}

注意:block名称不能取同名

子模版

定义:继承父模版 {% extends '父模版' %}

动态可选择的填充父模版中定义的block快,使用{% block name %} 动态内容 {% endblock %}

语法:

1.解析标签名:{% 标签名 %}{% end标签名 %}

for: {% for a in [变量名] %} {% else %} {% endfor %}

if:{% if 判断条件 %} {% else %} {% endif %}

block: {% block name %} {% endblock %}

解析变量:{{变量名}}

loop:变量

loop.index:从1开始

loop.index0: 从0开始

loop.revindex:倒序到1结束

loop.revindex0:倒序到0结束

loop.first:第一次循环返回True

loop.last:最后一次循环返回True

注解:{#注解内容#}

过滤器

写法:{{变量 | 过滤器}}

过滤器包括(safe:阻止样式,length:长度,upper:大写,lower:小写)

日记本