Django基础007--filter&tag
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
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的更多相关文章
- Django基础08篇 filter&tag
1.Django自带的过滤器filter views.py中代码 def template_tags(request): import datetime content = '三胖content三胖c ...
- Django基础(一)
Django基础(一) 知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即f ...
- Django基础和基本使用
Django基础 Django是Python下的一款著名的Web框架 框架 任何语言进入到高级部分时,会有认证.session.http.连接数据库等等功能操作,没有框架时需要自己实现 框架 是整个或 ...
- {Django基础六之ORM中的锁和事务}一 锁 二 事务
Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 一 锁 行级锁 select_for_update(nowait=False, skip_locked=False) #注意必须用在 ...
- Django基础之MTV模型
一.Django基础 一.Django简介 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型(Model).视图(View)和控制器(Control ...
- 01: Django基础篇
目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...
- day 71 Django基础六之ORM中的锁和事务
Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 锁 行级锁 select_for_update(no ...
- day 68 Django基础四之模板系统
Django基础四之模板系统 本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法 模板渲染的官方文档 关 ...
- day 58 Django基础六之ORM中的锁和事务
Django基础六之ORM中的锁和事务 本节目录 一 锁 二 事务 三 xxx 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 锁 行级锁 select_for_update( ...
- day 54 Django基础四之模板系统
Django基础四之模板系统 本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法 模板渲染的官方文档 关于模 ...
随机推荐
- “ compiler-rt”运行时runtime库
" compiler-rt"运行时runtime库 编译器-rt项目包括: Builtins-一个简单的库,提供了代码生成和其他运行时runtime组件所需的特定于目标的低级接口. ...
- XML文件存在中文注释报错问题( 3 字节的 UTF-8 序列的字节 3 无效)
今天在做mybatis项目的时候,给映射文件添加了中文注释后,程序就报错.把中文注释删除后,程序又可以正常执行.解决方法在下文提到. 我的xml映射文件如下: <?xml version=&qu ...
- .h5图像文件(数据集)的读取并存储 工具贴(二)
概述 H5文件是层次数据格式第5代的版本(Hierarchical Data Format,HDF5),它是用于存储科学数据的一种文件格式和库文件.由美国超级计算中心与应用中心研发的文件格式,用以存储 ...
- Java双重循环
在实际开发中我们常常遇到这样的问题,有A.B两个集合,这两个集合的某一个字段是相同的,要把A集合和B进行匹配,然后把A的值赋值给B例如: //上传图片 List<MultipartFile> ...
- 【题解】Luogu p2964 BZOJ 2017[Usaco2009 Nov]硬币游戏
题目描述 Farmer John's cows like to play coin games so FJ has invented with a new two-player coin game c ...
- Spring @Transaction 注解是如何执行事务的?
前言 相信小伙伴一定用过 @Transaction 注解,那 @Transaction 背后的秘密又知道多少呢? Spring 是如何开启事务的?又是如何进行提交事务和关闭事务的呢? 画图猜测 在开始 ...
- 透彻理解液晶显示模组LCD1602指令集与驱动编程(1)
LCD1602可以说是大多数单片机工程师了解液晶显示的入门级模组,其显示原理与其它很多显示模组也是相似的,今天我们就来详细讨论一下它的指令集.所谓模组的指令集,本质上是该模组使用的控制芯片的指令集,本 ...
- Java安全之Fastjson内网利用
Java安全之Fastjson内网利用 0x00 前言 在打Fastjson的时候,基本上都是使用JNDI注入的方式去打,也就是 JdbcRowSetImpl 链分析的链去打,但是遇到一些不出网的情况 ...
- hive学习笔记之三:内部表和外部表
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 全面解析Pytorch框架下模型存储,加载以及冻结
最近在做试验中遇到了一些深度网络模型加载以及存储的问题,因此整理了一份比较全面的在 PyTorch 框架下有关模型的问题.首先咱们先定义一个网络来进行后续的分析: 1.本文通用的网络模型 import ...