zoukankan      html  css  js  c++  java
  • 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>

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

  • 相关阅读:
    rabbitmq channel参数详解
    rabbitmq direct、fanout、topic 三种Exchange java 代码比较
    spark 性能优化
    spark sql 窗口函数over partition by
    Python爬虫从入门到进阶(4)之xpath的使用
    Python爬虫从入门到进阶(3)之requests的使用
    Python爬虫从入门到进阶(2)之urllib库的使用
    Mac环境下Redis的安装
    Mac环境下Vagrant的安装
    Mac环境下Scrapy的安装
  • 原文地址:https://www.cnblogs.com/hfbk/p/9799184.html
Copyright © 2011-2022 走看看