django之创建第6-1个项目-自定义过滤器
1、在站点blog目录下创建templatetags文件夹

2、templatetags目录下需要作为一个包来处理和调用其中的内容,需要有一个__init__.py文件
3、在templatetags目录下创建percent.py文件(里面定义过滤器)

4、编写percent.py文件,定义过滤器
# -*- coding: UTF-8 -*-
#自定义过滤器,注意这里编码一定不要掉了,不然会报错啊~~~~
from django import template
register = template.Library() def percent(value):
return value + "%" register.filter(percent)
5、index
<h1>3、过滤器-自定义过滤器</h1>
{% load percent%} <li>{{test.today | date:"Y-m-d" | percent }} </li>
<!DOCTYPE html>
<body lang="en">
<head>
<meta charset="UTF-8">
<title>django之创建第6-1个项目-自定义过滤器</title>
</head>
<br>
<h2>name:{{test.name}}</h2> <!--模板 变量用变量定义-->
<h2>age:{{test.age}}</h2>
<h2>访问类方法:{{test.myMethod}}</h2>
<h1>条件语句</h1> <h1>1、条件语句-if条件语句</h1> {% if test.age > 20 %}
<li>我要努力了</li>
{% else %}
<li>你还可以玩玩?不可以</li>
{% endif %} <lo>2、and、or、not</lo> {% if not user1 %}
<li>user1是不存在的</li>
{% else %}
<li>uer1存在</li>
{% endif %} {% if not test.name %}
<li>test.name 为空(含义:如果user.name的值不存在,则定义他为空)</li>
{% endif %} <h1>2、条件语句-for条件语句</h1>
<li>第1种方法:test.values</li>
{% for value in test.values %}<!--取字典的值-->
<lo>{{value}}</lo>
{% endfor %}
</br>
</br>
<li>第2种方法:test.keys</li>
{% for key in test.keys %}<!--取字典的键-->
<lo>{{key}}</lo>
{% endfor %}
</br>
</br>
<li>第3种方法:test.items</li>
{% for key,value in test.items %}<!--取字典的键值对-->
<lo>{{key}}:{{value}},</lo>
{% endfor %}
</br>
</br>
<lo>针对list数据时一样的道理,直接遍历list数据即可,和python很像</lo> <h1>2.1、条件语句-for条件语句反向迭代(reversed)</h1>
</br>
{% for key in test.keys reversed %}<!--反向迭代-->
<lo>{{key}}</lo>
{% endfor %}
</br>
</br> <h1>3、过滤器-转化为大写</h1>
<li>第1种方法:key.upper</li>
{% for key,value in test.items %}
<lo>{{key.upper}}:{{value}}</lo><br><!--br换行-->
{% endfor %}
</br>
<li>第2种方法:key | upper</li> {% for key,value in test.items %}
<lo>{{key | upper}}:{{value}}</lo><br><!--竖杠为管道符号-->
{% endfor %} </br>
<li>第3种方法:多重管道</li> {% for key,value in test.items %}
<lo>{{key | upper |lower | capfirst }}:{{value}}</lo><br><!--竖杠为管道符号-->
{% endfor %} </br>
<h1>3、过滤器-时间过滤或者格式化</h1>
<li>3.1、当前时间:{{test.today}}</li>
<li>3.2、格式化当前时间:{{test.today | date:"Y-m-d H:i:s"}}</li>
</br>
<lo>格式化时时间分别用什么字母表示?</lo><br>
<lo>Y:年</lo><br>
<lo>m:月</lo><br>
<lo>d:日</lo><br>
<lo>H:小时</lo><br>
<lo>i:分钟</lo><br>
<lo>s:秒</lo><br> <h1>3、过滤器-自定义过滤器</h1>
{% load percent%}
<li>{{test.today | date:"Y-m-d" | percent }} </li>
</body>
</html>
6、结果;
2016-04-05%
加上了一个%符号
7、百度云盘:http://pan.baidu.com/s/1kVng8lx
django之创建第6-1个项目-自定义过滤器的更多相关文章
- django之创建第12个项目-加载图片
百度云盘:django之创建第12个项目-加载图片 1.setting配置 #静态文件相关配置 # URL prefix for static files. # Example: "http ...
- django之创建第11个项目-页面整合
目的:将如下众多html页面整合到一个index.html页面中. 百度云盘:django之创建第11个项目-页面整合 用下面的方式实现: <!DOCTYPE html> <head ...
- django之创建第10-1个项目-图片上传并记录上传时间
1.百度云盘:django之创建第10-1个项目-图片上传并记录上传时间 2.主要修改的配置文件有3个,forms.views和models3个文件以及html 3.forms.py文件修改 #cod ...
- django之创建第10个项目-图片上传方式1
1.upload.HTMl <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang=& ...
- django之创建第9个项目-管理后台admin
django之创建第9个项目-管理后台admin配置 1.配置setting文件INSTALLED_APPS = ( 'django.contrib.auth', 'django.cont ...
- django之创建第8-3个项目-数据库数据提取之高级操作
1.配置test2.html <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- django之创建第8-1个项目-数据库之增删改查/数据库数据显示在html页面
1.为test.DB数据库预先创建下面数据 1 张三 16 2015-01-02 12 李四 17 2015-01-04 13 王五 14 ...
- django之创建第8个项目-数据库配置及同步研究
1.sqlitestudio-2.1.5数据库可视化工具--百度云盘下载 2.编写C:\djangoweb\helloworld\blog\models.py文件 # Create your mode ...
- django之创建第7-4个项目-配置views文件实现url传值
即:怎么实现url?name=xiaodeng&age=28等类似传值处理 1.配置views文件 # Create your views here. #coding:utf-8 from d ...
随机推荐
- C#与Java的语法差异
C#与Java的语法差异C与Java的语法差异前言程序结构基本语法数据类型字符串变量与常量运算符判断语句循环语句访问权限方法数组结构枚举类继承多态运算符重载接口命名空间预处理器指令正则表达式异常IO泛 ...
- TeXworks使用教程指南
TeXworks是Windows版本的TeX Live默认提供的编辑器.值得注意的是,TeXworks 是XeTeX 作者 Jonathan Kew 开发的,其特点是界面简洁友好,集成了轻便的 PDF ...
- NAT模式
NAT NAT模式中,就是让虚拟机借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网. NAT模式中,虚拟机的网卡和物理网卡的网络,不在同一个网络,虚拟机的网卡,是在vmware提供的一 ...
- ASP.NET Core 中间件 中间件(Middleware)和过滤器(Filter)的区别
https://www.cnblogs.com/savorboard/p/5586229.html 前言 在上篇文章主要介绍了DotNetCore项目状况,本篇文章是我们在开发自己的项目中实际使用的, ...
- scala编程第16章学习笔记(1)
List列表的基本操作 head方法获得列表的第一个元素 tail方法获得列表除第一个元素之外的其它元素 isEmpty:判断列表是否为空,空的话返回真 last:获得列表最后一个元素 init:获得 ...
- api重复引用导致的诡异问题排查
api重复引用导致的诡异问题排查 最近一个项目上线前开发环境.测试环境都能正常打包并运行.然而到了准生产环境和生产环境则报一些诡异的错误信息: [INFO] --------------------- ...
- C/C++ signal 信号处理函数
软中断信号(signal,又简称为信号)用来通知进程发生了异步事件.进程之间可以互相通过系统调用kill发送软中断信号. 内核也可以因为内部事件而给进程发送信号,通知进程发生了某个事件. 注意,信号只 ...
- WINDOWS 逻辑坐标 设备坐标 屏幕坐标 客户区坐标
转自:http://blog.csdn.net/lovesunshine2008/article/details/4048158 设置坐标映射 (1)Windows坐标系统 Windows坐标系 ...
- ORACLE中union/union all/Intersect/Minus用法
Union,对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序: Union All,对两个结果集进行并集操作,包括重复行,不进行排序: Intersect,对两个结果集进行交集操作,不包 ...
- SciPy 安装不上?
参考:链接:https://www.zhihu.com/question/30188492/answer/150928275来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处 ...