Django模板过滤器

Django模板过滤器

接上一节: https://blog.csdn.net/LeeSkyRa/article/details/103729856

过滤器很简单的,用法就是------> value | filter / value | filter:parameter,这里只做部分过滤器演示

app_st/views.py 文件代码如下

from django.shortcuts import render
from django.http import HttpResponse
from datetime import datetime
# Create your views here.

def view_st(request):
    return HttpResponse('<h1>这是我的第一个 django 视图</h1>')

def home(request):
    return render(request,'app_st/home.html')

def base(request):
    return render(request,'app_st/base.html')

def variable(request):
    pets={
        'species':'dog',
        'name':'旺仔',
        'age': 1,
        'sex':'M',
        'color':'blank',
        'hobby':'溜达',
    }
    a=''
    num=2
    srg = 'hello django '
    li = [1, 2, 3, 4, 5]
    now=datetime.now()
    flt=3.141592
    js='<script>alert("这就是 safe 的作用")</script>'
    return render(request,'app_st/variable.html',context={
        'pets':pets,
        'li': li,
        'srg': srg,
        'a':a,
        'now':now,
        'js':js,
        'flt':flt,
        'num':num,
    })

templates/variable.html 文件代码如下

{% extends 'app_st/base.html' %}
{% load static %}
{% block title %}VARIABLE{% endblock %}
{% block css %}{% static 'app_st/css/variable.css' %}{% endblock %}
{% block content %}
    <div>
        <p>宠物的物种是:{{ pets.species }}</p>
        <p>宠物的名字是:{{ pets.name }}</p>
        <p>宠物的年龄是:{{ pets.age }}</p>
        <p>宠物的性别是:{{ pets.sex }}</p>
        <p>宠物的颜色是:{{ pets.color }}</p>
        <p>宠物的爱好是:{{ pets.hobby }}</p>
        <hr/>

        <p>空字符串 "{{ a }}" default:None 用法 : {{ a | default:None }}</p>
        <p>字符串 '{{ srg }}' 拼接 add:'world !' : {{ srg | add:'world !' }}</p>
        <p>字符串 '{{ srg }}' 长度 length : {{ srg | length }}</p>
        <p>字符串 '{{ srg }}' 长度判断 length_is:10 : {{ srg | length_is:10 }}</p>
        <p>字符串 '{{ srg }}' 大写 upper :{{ srg | upper }}</p>
        <p>字符串 '{{ srg }}' 首字母小写 lower :{{ srg | lower }}</p>
        <p>字符串 '{{ srg }}' 各单词首字母大写 title :{{ srg | title }}</p>
        <p>字符串 '{{ srg }}' 只显示7个字符 truncatechars:7 : {{ srg | truncatechars:7 }}</p>
        <p>字符串 '{{ srg }}' 只显示2个单词 truncatewords:2 : {{ srg | truncatewords:2 }}</p>
        <p>字符串 '{{ srg }}' 切片 : {{ srg | slice:'6:9' }}</p>
        <p>字符串 '{{ srg }}' 的 join:'--' 方法 : {{ srg | join:'--' }}</p>
        <hr/>

        <p>列表 {{ li }} 第一个 first 元素 : {{ li | first }}</p>
        <p>列表 {{ li }} 最后一个 last 元素 : {{ li | last }}</p>
        <p>列表 {{ li }} 切片 slice:'2:4' :{{ li | slice:'2:4' }}</p>
        <p>列表 {{ li }} 切片 slice:'2' :{{ li | slice:'2' }}</p>
        <hr>

        <p>{{ js }}  : 弹窗演示{{ js | safe }}</p>
        <hr>

        <p>浮点数 {{ flt }} 未做任何过滤 : {{ flt }}</p>
        <p>浮点数 {{ flt }} 保留一位小数 : {{ flt | floatformat }}</p>
        <p>浮点数 {{ flt }} 保留两位小数 : {{ flt | floatformat:2 }}</p>
        <hr>

        <p>日期 date 的默认格式 : {{ now | date }}</p>
        <p>日期时间的24小时制年月日格式 : {{ now |date:"Y-m-d H:i:s" }}</p>
        <p>时间 time 的默认格式 : {{ now | time }}</p>
        <p>时间的12小时制格式 : {{ now | time:"H:i:s" }}</p>
        <hr>

        <p>数字 {{ num }} 的 add:2 相加 : {{ num | add:2 }}</p>

    </div>
{% endblock %}


好了,我们启动 django 服务,浏览器地址栏输入 127.0.0.1:8000/app/variable , 查看效果

 

如果有特定需求,我们可以自定义部分过滤器,下一节

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值