• 模板一


    模板
    一、模板的组成
    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>
  • 相关阅读:
    requests库简单介绍与使用
    python爬虫之无界面谷歌浏览器介绍
    PhantomJS介绍与使用
    使用find_elements_by_class_name定位元素有时候会出现打印出来的列表里面数据为空的现象,解决方案
    【C#】多态
    【JavaScrpt】JS之数组去重
    【SQL】sql语句在insert一条记录后返回该记录的ID
    【SQL】SQL整表复制
    【C#】获取URL上的参数
    【C#】 break continue return 的区别
  • 原文地址:https://www.cnblogs.com/shadowfolk/p/15014722.html
Copyright © 2020-2023  润新知