工作生活

Django 模板变量及模板过滤器

2019-06-30  本文已影响0人  昆仑草莽

前一章节我们已经知道了模板的路径设置,这一章节,我们来学习模板的变量,以过滤器。

模板变量:


此页面可以看出到底是谁登陆了页面,并且可以看到基本的信息,这些事怎么实现的呢,这就是模板变量的作用。
views文件

from django.shortcuts import render

# Create your views here.

st = 'THIS IS COMPUTER,WE ARE VERY LIKE IT!!!'
li = ['apple','banana','pear',123,222,987,'abs123','gun456']
tu = ('pig','dog','monkey','donkey',111,222,333)
se = {111,222,333,444,555,666,777,888,999}
def print():
    return '这是函数返回的值'

class Test():
    def __init__(self,name,age):
        self.name = name
        self.age = age

    def run(self):
        return '{}正在向大楼跑过去,他今年{}岁,是一位职员'.format(self.name,self.age)
t = Test('Tom',18)
ts = t.run()

def index(request):
    return render(request,'music/index.html',context={'st':st,
                                                      'li':li,
                                                      'tu':tu,
                                                      'se':se,
                                                      'pr':print(),
                                                      'ts':ts})

html文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>music</title>
</head>
<body>
这是music网页<br>

字符串:{{ st }}<br>
字符串变小写:{{ st|lower }}<br>
字符串变小写,首行字母大写:{{ st|lower|capfirst }}<br>
列表:{{ li }}<br>
元组:{{ tu }}<br>
集合:{{ se }}<br>

{{ pr }}<br>
{{ ts }}
</body>
</html>

模板变量使用规则:
1.语法: {{ 变量名 }}
2.命名由字母和数字以及下划线组成,不能有空格和标点符号
3.可以使用字典、模型、方法、函数、列表
4.不要和python或django关键字重名
5.变量和查找

注:
1.如果data是一个字典,那么访问data.items将会访问data这个字典的key名为items的值,而不会访问字典的items方法。
2.点在模板渲染时有特殊的含义。 变量名中点表示查找。

过滤器:

作用: 对变量进行过滤。在真正渲染出来之前,过滤器会根据功能处理好变量,然后得出结果后再替换掉原来的变量展示出来。
语法:{{fruits|lower}}
管道符号进行链式调用,比如实现一个功能,先把所有字符变成小写,把第一个字符转换成大写。
语法:{{fruits|lower|capfirst}}
使用参数:过滤器可以使用参数,在过滤器名称后面使用冒号”:”再加上参数,比如要把一个字符串中所有的空格去掉,则可以使用cut过滤器,
语法如下: {{fruits|cut:" "}}

常用过滤器:
date和time过滤器:

关于自动转义:

什么是自动转义?
自动转义是将变量的一些特殊字符,比如左箭头(<)、右箭头(>)转义成html代码,这样做的目的是为了处理一些不安全的变量。
<:转义成<

:转义成>
‘:转义成'
“:转义成"
&:转义成&

静态文件:

静态文件配置:在setting文件中设置




静态文件引用:


上一篇下一篇

猜你喜欢

热点阅读