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 , 查看效果
如果有特定需求,我们可以自定义部分过滤器,下一节