1.Django自带的过滤器filter

def index(request):
print('index...........')
navs = '今天天气真好fdsfds!!!'
title='<h1>testsss</h1>'
categories = models.Category.objects.all()
articles = models.Article.objects.all()
return render(request,'index.html',{'articles':articles,'navs':navs,'title':title})
-----test-------{{ navs|length }}<br>  --字符长度
-----test-------{{ navs.0 }}<br> --获取第一个字符
-----test-------{{ navs|truncatechars:6 }}<br> --大于6个字符的省略显示,中文占两个字符
-----test-------{{ title|upper }}<br> --英文字母大写,相对应的有lower
-----test-------{{ title|safe }}<br> --如果返回的数据是标签格式,会渲染到页面上
-----test-------{{ navs|slice:"0:8" }}<br> --切片
{{ cur_time|date:'Y/m/d H:i:s'}}<br> -- 格式化时间
{{ title |default:"管理员"}}<br> -- 如果后台没有返回则显示默认参数
{{ navs|join:"="}} <br> -- 拼接,如果是字符串则每个字符串中间用=号相连

2.Django自定义过滤器

1.在app的根目录下创建templatetags目录

2.创建tmpTags.py文件

3.固定导入

  from django import template

     register = template.Library() # register变量必须这么定义
4.使用装饰器@register.filter修饰自定义的filter方法
from django import template
register = template.Library() #自定义过滤器
@register.filter
def status_filter(x):
return '自定义过滤器Filter'

5.在html文件中导入{% load tmpTags %}

6.使用

-----test----{{ navs|status_filter }}

7.filter最多支持2个参数,管道符左侧为第一个参数,冒号后为第二个参数。

实例

from django import template
register = template.Library() @register.filter
def status_filter(x):
if x==1:
return '成功'
elif x==2:
return '失败'
else:
return '自定义filter。。。' @register.filter
def add(x,y):
return x+y
-----test----{{ navs|status_filter }}
-----test----{{ status|status_filter }}
-----test----{{ status|add:3 }}

3.Django自定义tag

1、在app的根目录创建templatetags目录
2、创建xxx.py的文件
3、固定导入
from django import template
register = template.Library() # register变量必须这么定义
4、使用装饰器@register.simple_tag修饰自定义的simple_tag方法
5、例:
@register.simple_tag
def simple_tag_demo(x, y,z):
return x + y + z
6、在html中导入{% load demoTags %}
7、使用
{% simple_tag_demo 1 2 3 %} --自定义simple_tag
8、simple_tag可以支持多个参数,通过空格进行分格即可

实例

@register.simple_tag
def simple_tag(x,y,z):
return x+y+z
<h1>simple_tag</h1>
{% simple_tag 1 2 3 %}

Django基础007--filter&tag的更多相关文章

  1. Django基础08篇 filter&tag

    1.Django自带的过滤器filter views.py中代码 def template_tags(request): import datetime content = '三胖content三胖c ...

  2. Django基础(一)

    Django基础(一) 知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即f ...

  3. Django基础和基本使用

    Django基础 Django是Python下的一款著名的Web框架 框架 任何语言进入到高级部分时,会有认证.session.http.连接数据库等等功能操作,没有框架时需要自己实现 框架 是整个或 ...

  4. {Django基础六之ORM中的锁和事务}一 锁 二 事务

    Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 一 锁 行级锁 select_for_update(nowait=False, skip_locked=False) #注意必须用在 ...

  5. Django基础之MTV模型

    一.Django基础 一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型(Model).视图(View)和控制器(Control ...

  6. 01: Django基础篇

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

  7. day 71 Django基础六之ORM中的锁和事务

    Django基础六之ORM中的锁和事务   本节目录 一 锁 二 事务 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 锁 行级锁 select_for_update(no ...

  8. day 68 Django基础四之模板系统

      Django基础四之模板系统   本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法   模板渲染的官方文档 关 ...

  9. day 58 Django基础六之ORM中的锁和事务

      Django基础六之ORM中的锁和事务   本节目录 一 锁 二 事务 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 锁 行级锁 select_for_update( ...

  10. day 54 Django基础四之模板系统

    Django基础四之模板系统   本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法   模板渲染的官方文档 关于模 ...

随机推荐

  1. IOS 小组件(7):小组件点击交互

    引言   前面我们似乎掌握了实现一个小组件所需要的一切技能,默认情况下桌面点击小组件,也正常跳转到了App中.接下来我们一起来看看,小组件是怎么做到点击跳转到App的. 点击交互方式 点击Widget ...

  2. Python Xpath语法

    Python    Xpath语法   一.选取节点 常用的路劲表达式: 表达式 描述 实例   nodename 选取nodename节点的所有子节点 xpath('//div') 选取了div节点 ...

  3. kafka实战教程(python操作kafka),kafka配置文件详解

    kafka实战教程(python操作kafka),kafka配置文件详解 应用往Kafka写数据的原因有很多:用户行为分析.日志存储.异步通信等.多样化的使用场景带来了多样化的需求:消息是否能丢失?是 ...

  4. MySQL 三万字精华总结

      写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了. 个人建议把面试题看作是费曼学习法中的回顾.简化的环节 ...

  5. ASP.NET Core MVC 入门到精通 - 1. 开发必备工具 (2021)

    环境: .NET 5 ASP.NET Core MVC 1. .NET 5 作为一个资深.NET工程师,说句实话,.NET没落了,在国内更加的没落.之前做过8年node.js/前端,现如今又转回了.N ...

  6. 固态LiDAR,半固态混合LiDAR,机械LiDAR

    固态LiDAR,半固态混合LiDAR,机械LiDAR 1. APD/SPAD 2轴MEMS扫描镜+ SPAD图像传感器在混合固态LiDAR中的应用 APD的工作模式分为线性模式和盖革模式两种.当APD ...

  7. ADAS测试

    ADAS测试 1.  ADAS​和​自动​驾驶​测试 AD​和​高级​驾驶​辅助​系统​(ADAS)​正在​不断​增加​新的​雷达.​摄像​头.​激光​雷达​和​GNSS​传感器,​甚至​也在​改变​ ...

  8. TensorRT原理图示

    TensorRT原理图示 NVIDIA的核心 TensorRT是有助于在NVIDIA图形处理单元(GPU)的高性能推理一个C ++库.它旨在与TensorFlow,Caffe,PyTorch,MXNe ...

  9. ITS智能交通监控系统技术解析

    ITS智能交通监控系统技术解析 红灯,逆行,变 车辆抓拍和车速检测 非法停车和交通流量检测 交叉路口违法检测 发生碰撞的交叉口是智能交通管理. 机动执法 当你需要一个可以移动的系统时,会跟着你移动.移 ...

  10. Python_Selenium之浏览器封装_去掉浏览器受到自动化控制横条显示及去掉是否记住密码弹窗

    封装如下: from selenium import webdriverfrom common.config_utils import configfrom selenium.webdriver.ch ...