flask后台框架1.3(过滤器+继承+url链接及静态文件加载)

过滤器

过滤器,理解起来就是我们当前拿到了一个变量,但是我们这个变量不符合当前文件的操作,我们需要对这个数据进行一定的操作才能使用(比如:求和,查询链接是否失效等)所以就产生了过滤器这个操作,过滤器是运用在前端的一个操作。
看个最常用的求评论数总数的操作,先看后台的flask中的代码

commit={
    'aaa','bbb','cxk'
}
我

们定义了简单的三条留言,然后如果我们通过渲染传到前端的话我们拿到的就仅仅这三条留言,所以如果需要显示当前的留言数量的话,我们就需要同个这个过滤器来实现,接下来我们直接来看前端的代码

<p>评论数({{ commit|length }})</p>

代码很简单,还是传统的方法利用两个花括号来调用后台传过来的参数,但是我的参数后面是跟上来了一个 | 这个符号符号后面跟上了这个过滤的方法,这个完全可以 把 | 符号理解成python之中的点,后面的名字就相当于是一个方法,这样就很简单了,区别于传统的认识就是把 点 换成 |这样在前端就显示出了留言数量

在这里插入图片描述
这就是过滤器的基本用法,接下来还有各种各样的过滤器,直接给出定义,用法一样。
在这里插入图片描述

继承

在html中经常会有很多的页面中含有同一个导航栏或者某个特殊的东西,但用传统的方法的话,每个页面我们都会去重复大量的代码去写这些一样的东西,很冗余,所以在flask中提供了继承这样的一个方法来减轻我们的工作,我们只需要去写一个模板,然后在模板中留下接口就可以了,下面是一个demo

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{% block title %}{% endblock %}</title>
    <link rel="stylesheet" href="{{ url_for('static',filename='css/index.css') }}">
</head>
<body>
    <div class="nav">
        <ul>
            <li><a href="">首页</a></li>
            <li><a href="{{ url_for('demo') }}">登陆页面</a></li>
        </ul>
    </div>
    {% block main %}
    
    {% endblock %}
</body>
</html>

这是我写的一个demo其中留下了两个可以继承的一个接口,这个页面呢是一个导航栏,然后我们想在其他页面中也进行运用,那么我们需要写的代码就是

{% block name %}{% endblock %}

这中间的一部分,这行代码定义了接口的位置,这样一个导航栏模板就写好了,其中block是不便的然后block后面的**变量名(name)**需要我们去定义
看实现这个模板的方法。

{% extends 'base.html' %}
{% block title %}
    这是首页
{% endblock %}
{% block main %}
    我实现了接口!
{% endblock %}

这行代码是写在另外一个html文件中的,第一行声明这个html是继承于哪一个模板,然后一堆花括号中间是填充的内容相对于上一个留下的接口,然后变量名称要一 一对应。
在这里插入图片描述
title有一个接口,然后就是body中有一个接口,都实现了。

url链接及静态文件的加载

在一个网站中当然少不了css,js文件,所以在一个flask项目中有一个static文件夹专门存放这些的静态文件。
在这里插入图片描述
现在我们来引用一个css作为例子,还是推荐使用url反转来生成路径

 <link rel="stylesheet" href="{{ url_for('static',filename='css/index.css') }}">

static是整个的静态文件存放的文件夹的名字,一般都用static来表示,然后后面的filename是我们来到这个static文件夹之后需要去引用的文件的路径,是相对于static这个文件来说的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值