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 ...
随机推荐
- 轻松看懂Java字节码
java字节码 计算机只认识0和1.这意味着任何语言编写的程序最终都需要经过编译器编译成机器码才能被计算机执行.所以,我们所编写的程序在不同的平台上运行前都要经过重新编译才能被执行. 而Java刚诞生 ...
- [转]用国内软件源为Ubuntu的apt-get提速方法
FROM : http://www.jb51.net/os/Ubuntu/45293.html 刚装好Ubuntu系统之后根据需要还要安装一系列的软件,最省心的办法就是通过apt-get来进行 默 ...
- [转]MySQL导入.sql文件及常用命令
From : http://blog.csdn.net/muziduoxi/article/details/6091202 在MySQL Qurey Brower中直接导入*.sql脚本,是不能一 ...
- RV32M指令集
Risc-V定义了可选的RV32M,它定义了整数乘法除法指令. 总共8条指令. Category Fmt RV32I base machine code(bin) comment mul 整数乘法 R ...
- Python collections.OrderedDict解决dict元素顺序问题
编程中遇到个问题,python json.loads时元素顺序可能会发生变化. 这个对于一些需要使用元素顺序来做一些策略的代码来说是致命的. 在网上查了查,结合自己的知识总结一下. 使用dict时,K ...
- 手把手实现腾讯qq拖拽删去效果(一)
qq拖拽删除的效果,简单又好用,今天我就叫大家实现吧. 这个滑动效果,有何难点了,就是响应每行的点击事件了,为了完成这个任务,并且能够实现动画的效果了,我重写了一个slideview这个控件,这个控件 ...
- 八一八android与Linux的关系
Linux与Androld的关系 虽然Android基于Linux内核,但是它与Linux之间还是有很大的差别,比如Android在Linux内核的基础上添加了自己所特有的驱动程序.下面我们就来分析一 ...
- python机器学习sklearn 岭回归(Ridge、RidgeCV)
1.介绍 Ridge 回归通过对系数的大小施加惩罚来解决 普通最小二乘法 的一些问题. 岭系数最小化的是带罚项的残差平方和, 其中,α≥0α≥0 是控制系数收缩量的复杂性参数: αα 的值越大,收缩量 ...
- Android -- Handling back button press Inside Fragments
干货(1) 首先创建一个抽象类BackHandledFragment,该类有一个抽象方法onBackPressed(),所有BackHandledFragment的子类在onBackPressed方法 ...
- javascript——获取列表选择行的列值
表格布局 方法 代码 $("#send").click(function(){ //获取选择的行号 n= $('input:radio[name="radio" ...