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

时间: 2024-10-07 19:14:19

django之创建第6-1个项目-自定义过滤器的相关文章

django之创建第4-1个项目-访问dict数据

1.修改index.html文件 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第四个项目</title> </head> <body> <h1>hello,{{test.name}}</h1> <!--模板 变量用变量定义--&g

django之创建第4-2个项目-访问class类属性和类方法

1.修改index <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第4-2个项目</title> </head> <body> <h1>hello,{{test.name}}</h1> <!--模板 变量用变量定义--> &l

django之创建第10-1个项目-图片上传并记录上传时间

1.百度云盘:django之创建第10-1个项目-图片上传并记录上传时间 2.主要修改的配置文件有3个,forms.views和models3个文件以及html 3.forms.py文件修改 #coding:utf-8 #这里定义html页面中用到的表单,常和views和models文件配合使用 """ >>> help(django) Help on package django: PACKAGE CONTENTS conf (package) contr

django之创建第4个项目编写第一个动态模板文件

修改的地方: 1.index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第四个项目</title> </head> <body> <h1>hello,{{name}}</h1> <!--模板变量用变量名定义,如:nam

django之创建第4-3个项目-访问list数据

1.index <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>django之创建第4-2个项目</title> </head> <body> <h2>访问list数据,用索引获取list内的数:{{test.0}}</h2> <!--模板 变量用变量

django之创建第6个项目-过滤器

1.views.PY # Create your views here. #coding:utf-8 from django.http import HttpResponse import datetime #导入templates文件所需导入库 from django.template import loader,Context class Person(): def __init__(self,name,age,sex): self.name=name self.age=age self.s

django之创建第3个项目:编写第一个模板文件

1.django结构 2.在站点blog下创建templates文件夹,专门用于存放模板文件 3.在templates文件夹下创建index.html文件 #index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>第一个模板文件</title> </head> <body&

django之创建第7个项目-url配置

1.配置urls.py from django.conf.urls import patterns, include, url #Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('', # Uncomment the admin/doc line below to enable admin d

django之创建第7-2个项目-url配置分离

1.urls.PY分离 # -*- coding: UTF-8 -*- from django.conf.urls import patterns, include, url # Uncomment the next two lines to enable the admin: from django.contrib import admin admin.autodiscover() urlpatterns = patterns('blog.views', # Examples: # url(r