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. 使用BeautifulSoup高效解析网页,再也不用担心睡不着觉了

    BeautifulSoup是一个可以从 HTML 或 XML 文件中提取数据的 Python 库 那需要怎么使用呢? 首先我们要安装一下这个库 1.pip install beautifulsoup4 ...

  2. ELK搭建-windows

    一.E 二.L 启动 三.K 四.filebeat 五.配置文件使用 1.logstash-sample.conf # Sample Logstash configuration for creati ...

  3. Python+Selenium自动化-获取页面信息

    Python+Selenium自动化-获取页面信息   1.获取页面title title:获取当前页面的标题显示的字段 from selenium import webdriver import t ...

  4. Go语言流程控制06--猜数字游戏

    package main import ( "fmt" "math/rand" "time" ) /* ·随机生成一个三位数 ·让用户输入其 ...

  5. 简化可视SLAM应用程序的开发

    简化可视SLAM应用程序的开发 Easing the development of visual SLAM applications 同步定位和映射(SLAM)描述了一个设备(如机器人)使用传感器数据 ...

  6. Java8 中使用Stream 让List 转 Map使用总结

    在使用 Java 的新特性 Collectors.toMap() 将 List 转换为 Map 时存在一些不容易发现的问题,这里总结一下备查. 空指针风险 java.lang.NullPointerE ...

  7. 【NX二次开发】Block UI RGB颜色选择器

    属性说明 常规         类型 描述     BlockID     String 控件ID     Enable     Logical 是否可操作     Group     Logical ...

  8. UF_PART 部件操作

    Open C uc5000 uc5001uc5003UF_PART_add_to_recent_file_listUF_PART_apply_family_instanceUF_PART_ask_co ...

  9. C++ folly库解读(三)Synchronized —— 比std::lock_guard/std::unique_lock更易用、功能更强大的同步机制

    目录 传统同步方案的缺点 folly/Synchronized.h 简单使用 Synchronized的模板参数 withLock()/withRLock()/withWLock() -- 更易用的加 ...

  10. csp-c模拟测试43「A·B·C」

    B 题解 $f[i][(gcd(prime[j]*prime[k]\%P,P))]=\sum\limits_{k=1}^{k<=num} f[i-1][k]*phi(\frac{P}{prime ...