Django基础08篇 filter&tag
1.Django自带的过滤器filter
views.py中代码
def template_tags(request):
import datetime
content = '三胖content三胖contentSBcontentsbcontentcontentcontentcontentcontent'
title = 'tiTLe'
stus = ['xiaohei', 'xiaobai', 'lhy']
info = {"money":9999}
cur_date = datetime.datetime.now()
name = '小白'
age = 35
return render(request, 'template_tags.html', locals())
前端代码

{% load my_tags %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板标签</title>
</head>
<body>
    {#    Django自带#}
    {#    截取字符串#}
    <p>{{ content| truncatechars:30 }}</p>
    {#    大写#}
    <p>{{ title|upper  }}</p>
    {#    小写#}
    <p>{{ title|lower  }}</p>
    {#    获取数组长度#}
    <p>{{ stus|length}}</p>
    {#    切片#}
    <p>{{ stus|slice:"0:4"}}</p>
    {#    下标取值#}
    <p>{{ stus.0 }}</p>
    {#    拼接字符串#}
    <p>{{ stus|join:'-' }}</p>
    {#    字典取值#}
    <p>{{ info.money }}</p>
    {#    字符串后添加#}
    <p>{{ name|add:",你好" }}</p>
    {#    整数加#}
    <p>{{ age|add:1 }}</p>
    {#    格式化时间#}
    <p>{{ cur_date | date:"Y-m-d H:i:s" }}</p>
    {% with class="天马座" %}
        <p>{{ class }}</p>
    {% endwith %}
</body>
</html>
template_tags.html
页面效果

2.Django自定义过滤器filter
1).在子项目(此处在user目录下)的根目录下创建templatetags目录
2).创建my_tags.py文件
3).固定导入
from django import template
from django.template import Library register = Library()
@register.filter
def mingan(content):
return content.replace("三胖", '小白') @register.filter
def mingan2(content, s):
return content.replace("三胖", s) @register.simple_tag
def mingan3(content, *agrs): # 支持多个参数
for arg in agrs:
content = content.replace(arg, '小白')
return content
5). 在html文件中导入{% load my_tags %}
6). 使用
{{ content| mingan }}    
此函数只有1个参数,管道符|左侧的就是第一个参数传给管道符后的函数
{{ content| mingan2:'大傻子' }}
此函数只有2个参数,管道符|左侧的就是第一个参数传给管道符后的函数,:后是第二个参数
{% mingan3 content 'sb' 'SB' '三胖' %}
此函数支持多个参数

{% load my_tags %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>模板标签</title>
</head>
<body>
    {#    自定义函数#}
    <p>{{ content| mingan }}</p>
    {#    自定义函数#}
    <p>{{ content| mingan2:'大傻子' }}</p>
    {% mingan3 content 'sb' 'SB' '三胖' %}
</body>
</html>
template_tags.html
效果如下:

Django基础08篇 filter&tag的更多相关文章
- Django 基础05篇 上下文管理和前端代码复用
		
一.上下文管理器 在views中重复使用的代码,可以通过上下文管理器(在setting.py文件中的TEMPLATES中配置)中实现,减少代码冗余 上下文管理器的处理流程如下: 1.先走完views里 ...
 - Django基础-04篇 Django开发前后端联动
		
1. 写views views.py代码块 1.在前端以/article/{{ article.id }}这种方式请求后台, 参数配置在urls.py中path('category/<int:i ...
 - Django基础——Model篇(三)
		
一 Django ORM中的概念 ORM —— 关系对象映射,是Object Relational Mapping的简写,是用来简化数据库操作的框架 Django ORM遵循Code Frist原则, ...
 - Django基础——Model篇(二)
		
一 Model连表关系 一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.OneToOneFiel ...
 - Django基础第一篇
		
目录 1.Django MTV框架简介 2.基础命令创建项目的配置说明 3.前后端交互案例 4.基于数据库实现数据交互增删改查 Django简介 Django框架的设计模式借鉴了MVC的思想,和MVC ...
 - Django基础07篇 ORM操作
		
1.新增(类似数据库操作的insert) # 新增 #方式一: models.Category.objects.create(name='MySQL') #方式二: c = models.Catego ...
 - Django基础——Model篇(一)
		
到目前为止,当程序涉及到数据库相关操作时,我们一般都会这么操作: (1)创建数据库,设计表结构和字段 (2)使用MySQLdb来连接数据库,并编写数据访问层代码 (3)业务逻辑层去调 ...
 - Django基础-01篇
		
一.Django介绍 flask,FastApi是轻量级服务端开发框架 Django是重量级服务端开发框架 ORM:封装了数据库操作 form:校验请求数据 安装Django: pip install ...
 - Django基础06篇 分页
		
1.导入Django自带的分页类 from django.core.paginator import Paginator 2.分页类的使用 def index(request): # return H ...
 
随机推荐
- GO学习-(22) Go语言之依赖管理
			
Go语言之依赖管理 Go语言的依赖管理随着版本的更迭正逐渐完善起来. 依赖管理 为什么需要依赖管理 最早的时候,Go所依赖的所有的第三方库都放在GOPATH这个目录下面.这就导致了同一个库只能保存一个 ...
 - NBU Rman异机恢复Oracle
			
前段时间一个亿级分区表,被分割成历史表和业务表,历史表中保留15天以外的数据,每天都会从业务表中的15天外的数据copy到历史表,并删除业务表15天外的数据,逻辑也很简单,但插入历史表的where 条 ...
 - Stopper的使用
			
工具类,抽象死循环逻辑的 import java.util.concurrent.atomic.AtomicBoolean; /** * if the process closes, a signal ...
 - js中reduce用法详解
			
介绍reduce reduce() 方法接收一个函数作为累加器,reduce 为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数:初始值(上一次回调的返回值),当 ...
 - 固态LiDAR,半固态混合LiDAR,机械LiDAR
			
固态LiDAR,半固态混合LiDAR,机械LiDAR 1. APD/SPAD 2轴MEMS扫描镜+ SPAD图像传感器在混合固态LiDAR中的应用 APD的工作模式分为线性模式和盖革模式两种.当APD ...
 - git操作分支的常用的命令
			
查看所有的分支: git branch -a 查看当前所在的分支: git branch 检出分支: ...
 - SpringCloud01:微服务概述
			
一.什么是微服务 微服务是一种架构风格,是一种架构设计方式,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地 ...
 - 实验7、Django VS Flask VS Node:如何选择
			
实验介绍 1. 实验内容 在本教程中,我们将详细介绍Django和Flask之间的比较.Flask和Django是基于Python的Web开发框架.许多正在朝着轻型微框架发展.这些框架敏捷,灵活,小巧 ...
 - UF_TRNS   变换相关
			
Open C uf5940uf5941uf5942 矩阵乘积变换uf5943 平移变换uf5944 缩放变换uf5945 旋转变换uf5946 镜像变换uf5947 实现变换,根据变换矩阵 ...
 - 【NX二次开发】NX内部函数,libufunx.dll文件中的内部函数
			
本文分为两部分:"带参数的函数"和 "带修饰的函数". 浏览这篇博客前请先阅读: [NX二次开发]NX内部函数,查找内部函数的方法 带参数的函数: void e ...