Django模板系统

                  Django模板系统                   

官方文档

                  常用语法                    

Django模板中只需要记中特殊符号:

{{}}  和  {%   %}

{{}}  表示变量, 在模板渲染的时候替换成值, {%   %} 表示逻辑相关的操作.

 

变量

{{ 变量名 }} :   变量名由字母数字下划线组成.

点( . )  在模板语言中有特殊含义. 用来获取对象的相应属性值.

几个例子:

  view中代码:

def template_test(request):
    l = [11, 22, 33]
    d = {"name": "alex"}

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

        def dream(self):
            return "{} is dream...".format(self.name)

    Alex = Person(name="Alex", age=34)
    Egon = Person(name="Egon", age=9000)
    Eva_J = Person(name="Eva_J", age=18)

    person_list = [Alex, Egon, Eva_J]
    return render(request, "template_test.html", {"l": l, "d": d, "person_list": person_list})

模板中支持的写法:

# 取1中的第一个参数 (都是从上述代码中取)
{{ 1.0 }}

# 取idian中key的值
{{ d.name }}

# 取对象的name属性
{{ person_list.0.name }}

#   .操作只能调用不带参数的方法
{{ presson_list.0.dream }}

注意: 当模板系统遇到一个( . ) 时, 会按照如下顺序去查询:

  1, 在字典中查询.

  2, 属性或者方法.

  3, 数字索引

Filters

翻译为过滤器, 用来修改变量的显示结果.

语法: {{ value|filter_name:参数 }}

"|"  左右不能有空格

default

{{ value|default:"nothing" }}

如果value值没传的话就显示nothing

注意: TEMPLATES的OPTIONS可以增加一个选项: string_if_invalid: "找不到", 可以替代default的作用

filesizeformat(将数字转换成人类可读的文件大小)

将值格式化为一个"人类可读的"文件大小

例子:

views(视图)中的代码

file_size = 1234567

HTML中的代码

<p>文件大小:{{ fize_size|filesizeformat }}</p>

运行项目后, 得到的结果就是一个"人类可读"的文件大小.

 

posted @ 2018-10-16 17:14  向往灬  阅读(133)  评论(0编辑  收藏  举报