目录
一、自定义过滤器
1. 前期准备
①查看Django官方文档进行学习
②在the_7应用下创建一个templatetags目录:
③创建__init__.py确保其是一个python包:
④在templatetags目录下还要创建一个py文件,名字随便取,用来存放所有自定义的过滤器:
2. 过滤器定义与使用
定义好过滤器后要加上装饰器才能使用:
定义views,并创建对应urls和HTML文件
前期准备中官方文档提到必须在模板中添加{% load poll_extras %}这条语句才能起作用
运行项目,输入路由,成功将HeLLO变成小写:
如何给过滤器起名字:
名字更改后也要在相应的模板中进行更改,否则无法使用过滤器:
带参过滤器
若yy对应的值为空,则打印default_text的值,不为空则打印yy对应的值:
注意:自定义过滤器只是带有一个或两个参数
3. 自定义标签
simple_tag
inclusion_tag
或
二、模板继承
模板继承就是一个偷懒神器
1. 双栏布局的网页
前端代码如下:
view.py渲染
2. 如何实现模板继承?
使用Extends,操作如下:
新建一个base页面,把index页面内容复制到base页面,删掉index页面内容,使用extends,继承base页面的内容到index页面
使用Block用来“挖坑”,将想要修改的地方包进去
在base页面把可能需要替换的部分前后写上该语句,相当于挖了一个坑,appbar只是一个名字,可以随便取,但尽量要有识别性
在另一个index页面需要修改继承页面的部分内容,写法如下:
替换成功:
block.super
在修改内容的同时也继承了父类
include
将其他页面整个渲染到当前页面里