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 ...
随机推荐
- 本地软件仓库配置及NFS安装
[root@localhost ~]# mount /dev/cdrom /mnt mount: /dev/sr0 is write-protected, mounting read-only [ro ...
- TensorFlow之keras.layers.Conv2D( )
keras.layers.Conv2D( ) 函数参数 def __init__(self, filters, kernel_size, strides=(1, 1), padding='valid' ...
- mybatis的多参数传递,使用
1.mybatis的多参数使用 mapper 使用 通过@param注解,传递到xml中的参数名称指定 public interface RedisInstanceTypesMapper extend ...
- 第一个 Angular 应用程序
node download https://nodejs.org/zh-cn/ 全局安装 npm install @angular/cli -g 指定版本 npm install @angular/c ...
- AI人工智能天机芯芯片
AI人工智能天机芯芯片 描述 2019年刊出的<自然>封面文章,展示了清华大学类脑计算研究中心团队研发的新型人工智能芯片"天机芯(Tianjic)".这是世界首款异构融 ...
- Minkowski坐标管理
Minkowski坐标管理 坐标键 classMinkowskiEngine.CoordsKey(D) __init__(D) 初始化self. See help(type(self))有关准确的签名 ...
- ubuntu虚拟机安装ssh教程
大家好,这期给大家带来一期Ubuntu虚拟机中ssh的安装教程,话不多说,开整 第一步:输入su后输入密码进入root权限 第二步:在管理员模式下运行apt-get install openssh-s ...
- VLAN与三层交换机
VLAN概述与优势 ①分割广播域 物理分割 逻辑分割 ②VLAN的优势 控制广播 增强网络安全性 简化网络管理 VLAN的范围 VlAN ID范围 范围 用途 0,4095 保留 仅限系统使用,用户 ...
- guavacache源码阅读笔记
guavacache源码阅读笔记 官方文档: https://github.com/google/guava/wiki/CachesExplained 中文版: https://www.jianshu ...
- spring赌上未来的一击:WebFlux性能实测
最近花了一点时间系统的测试验证了在SpringBoot框架下使用SpringMVC和Spring WebFlux两种框架开发接口,对比了响应时间以及压测吞吐量的区别. WebFlux&Spri ...