zoukankan      html  css  js  c++  java
  • 模板一

    模板
    一、模板的组成
    HTML代码+逻辑控制代码

    二、逻辑控制代码的组成
    1、变量(使用双大括号来引用变量)
    语法:{{var_name}}
    def current_time(req):
    now = datetime.datetime.nowa()
    return render(req,'current_datetime.html',{'current_date':now})

    模板之深度查询,使用句点号——可以用于列表、字典

    views内容:

    class Animal():
    def __init__(self,name,sex):
    self.name = name
    self.sex = sex
    #模板之变量
    def query(request):
    l = ['a','b','c']
    d = {"name":"kang","age":18,"sex":""}
    c = Animal("alex","man") #实例一个对象
    t = (1,2,3)
    ti = datetime.datetime.now()
    return render(request,"index.html",{"action":ti})
    #return render(request,'index.html',locals())

    #index.html文件内容

    #使用键值对
    <h1>这是通过键值对取值</h1>
    <h1>hello {{ action.0 }}</h1>
    <h1>hello {{ action.1 }}</h1>
    <h1>hello {{ action.2 }}</h1>

    <h1>取字典的值:{{ action.name }}</h1>
    <h1>取类的值:{{ action.name }}</h1>
    <h1>取元组的值:{{ action.0 }}</h1>
    <h1>取元组的值:{{ action.1 }}</h1>
    <h1>取元组的值:{{ action.2 }}</h1>

    #得到的结果为
    这是通过键值对取值
    hello 1
    hello 2
    hello 3
    取字典的值:
    取类的值:
    取元组的值:1
    取元组的值:2
    取元组的值:3

    <h1 style="color: blanchedalmond">{{ action.year }}年</h1>
    <h1 style="color: blanchedalmond">{{ action.month }}月</h1>
    <h1 style="color: blanchedalmond">{{ action.day }}日</h1>
    <h1 style="color: blanchedalmond">{{ action.hour }}时</h1>
    <h1 style="color: blanchedalmond">{{ action.minute }}分</h1>
    <h1 style="color: blanchedalmond">{{ action.second }}秒</h1>

    #得到的结果为:
    2021年
    7月
    15日
    10时
    19分
    46秒

    使用locals(),他可以一次性取出所有值
    <h1>hello {{ l.0 }}</h1>
    <h1>hello {{ l.1 }}</h1>
    <h1>hello {{ l.2 }}</h1>
    <h1>{{ c.name }}</h1>
    <h1>{{ c.sex }}</h1>
    #得到的结果为:
    hello a
    hello b
    hello c
    alex
    man

    点语法也可以用来引用对象的方法。 例如,每个 Python 字符串都有 upper() 和 isdigit()
    方法,你在模板中可以使用同样的句点语法来调用它们:
    >>> from django.template import Template, Context
    >>> t = Template('{{ var }} -- {{ var.upper }} -- {{ var.isdigit }}')
    >>> t.render(Context({'var': 'hello'}))
    'hello -- HELLO -- False'
    >>> t.render(Context({'var': '123'}))
    '123 -- 123 -- True'

    变量的过滤器(filter)的使用
    语法:{{obj|filter:参数}}

    1 add : 给变量加上相应的值

    2 addslashes : 给变量中的引号前加上斜线

    3 capfirst : 首字母大写

    4 cut : 从字符串中移除指定的字符

    5 date : 格式化日期字符串

    6 default : 如果值是False,就替换成设置的默认值,否则就是用本来的值

    7 default_if_none: 如果值是None,就替换成设置的默认值,否则就使用本来的值

    实例
    1.add(给变量加上相应的值)的使用
    #age = age+2
    <h1>{{ test_0.age|add:2 }}</h1>

    #name=kangmin
    <h2>{{ test_0.name|add:'min' }}</h2>

    2.capfirst(使变量首字母大写)的使用
    name的首字母大写
    <h1>{{ test_0.name|capfirst }}</h1>

    3.cut(从字符串中移除指定的字符)的使用
    删除空格
    <h1>{{ test_1|cut:" " }}</h1>
    删除s,会删除字符串中所有的s
    <h1>{{ test_1|cut:"s" }}</h1>

    4.date(格式化日期字符串)的使用
    <h1>{{ test_2|date:"Y-m-d" }}</h1>

    5.default(如果值是false,就替换成设置的默认值,否则就是用本来的值default)的使用
    <h2>{{ test_3 | default:"改变False" }}</h2>

    6.default_if_none(如果值是None,就替换成设置的默认值,否则就使用本来的值 )的使用
    <h2>{{ test4|default_if_none:"None改为kang" }}</h2>
  • 相关阅读:
    OK335x mksd.sh hacking
    Qt jsoncpp 对象拷贝、删除、函数调用 demo
    OK335xS 256M 512M nand flash make ubifs hacking
    Qt QScrollArea and layout in code
    JsonCpp Documentation
    Qt 4.8.5 jsoncpp lib
    Oracle数据库生成UUID
    freemarker得到数组的长度
    FreeMarker中if标签内的判断条件
    freemarker语法
  • 原文地址:https://www.cnblogs.com/shadowfolk/p/15014722.html
Copyright © 2011-2022 走看看