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 ...
随机推荐
- [转]如何将PHP作为Shell脚本语言使用
From : http://www.linuxfly.org/post/559/ 我们都知道,PHP是一种非常好的动态网页开发语言(速度飞快,开发周期短……).但是只有很少数的人意识到PHP也可以很好 ...
- mysql权限管理命令示例
mysql权限管理命令示例 grant all privileges on *.* to *.* identified by 'hwalk1'; flush privileges; insert in ...
- 利用rest-framework实现django应用的分页功能
自定义分页的类,继承 PageNumberPagination class StandardResultsSetPagination(PageNumberPagination): page_size ...
- AsyncHttpClient的连接池使用逻辑
AsyncHttpClient的连接池结构很简单, NettyConnectionsPool内部重要的几个变量如下 // 连接池, 通过 host 区分不同的池 private final Concu ...
- 洛谷 P1347 排序
题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列A,B,C,D 表示A<B,B<C,C<D.在这道题中,我们将给你一系列形如A<B ...
- go语言之进阶篇字符串转换
1.字符串转换 示例: package main import ( "fmt" "strconv" ) func main() { //转换为字符串后追加到字节 ...
- 使用DebugView小工具调试已部署的.net程序 (转)
DebugView for Windows能够捕捉Debug输出的信息在本地的操作系统上.如何你需要调试程序有网络访问推荐使用Wireshark和监听HTTP的工具Fiddler. 下载下来是一个ZI ...
- Gridview利用DataFormatString属性设置数据格式
首 先把Gridview的AutoGenerateColumns属性设为False(默认是False),DataField选择相应的字段,特别需要注 意的是要把需要设置的字段的HtmlEncode属性 ...
- 用Visual C#来清空回收站(2)
四.程序的源代码(recycled.cs).编译方法及运行后的界面: (1).程序的源代码:recycled.cs: using System.IO ; using System.Windows.Fo ...
- 八一八android开发规范(一种建议)
开发规范重不重要了,不言而喻.这里就给大家说一故事把——据<圣经·旧约·创世记>第11章记载,是当时人类联合起来兴建,希望能通往天堂的高塔.为了阻止人类的计划,上帝让人类说不同的语言,使人 ...