zoukankan      html  css  js  c++  java
  • dtl模板语言,自定义filter和tag

    1,变量在视图函数中通过 return render(request,‘.html’,{'num':num})传入   可以直接引入local()

    在前端通过.与法进行访问  可以将全部类型传入,包括函数返回值,类的__str__,函数不带参数

    2.dtl模板语言的filter和tag:

    常用的filter      |add:2  |default:0  |data:'Y-m-d'    <a>{{ name|truncatechars:0 }}</a>      <a>{{ dict1.usr|slice:'0:1'}}</a>  -- 注:过滤器可以串联操作,可以拥有0个或1个参数

    -- 增加 add:num
    -- 字符串长度 length
    -- 默认值 default:'默认值' # 变量不存在或为空
    -- 全大写 upper
    -- 全小写 lower
    -- 切片 slice:'0:-1'
    -- 将数字转换为文件大小 filesizeformat
    -- 字符串隐藏 truncatechars:13 # 只显示10个字符,后置字符都用...来替代
    -- 时间 date:'Y-m-d'
    -- 转换原意 safe

    tag   可用于反向解析   用于{%now:'Y-m-d'  'h-i-s'%}     起别名{% with ‘hshs' as nu’%}   {%end   with%}  -- Django CSRF认证   {% csrf_token %}

    if 和 for  用法

     

    `python
    '''
    语法:
    {% if 条件1 %}
    结论1
    {% elif 条件2 %}
    结论2
    {% else %}
    结论n
    {% endif %}

    注:
    1. if的条件可以添加filter
    2. 可以嵌套
    '''
    ```

    ## 七、迭代器

    ```python
    '''
    {% for foo in iterate %}
    {{ forloop }}
    {% empty %}
    可迭代对象为空
    {% endfor %}

    注:
    1. iterate为可迭代对象
    2. iterate可以添加filter
    3. forloop变量为存放迭代信息的字典,父级forloop字典,开始索引从0编号或1编号,倒序索引从0编号或1编号,是否是第一次或最后一次循环
    4. empty分支会在可迭代对象不存在或空时执行

    ## 八、自定义过滤器与标签

    ```python
    '''
    步骤:
    1. 在注册的app下创建templatetags包
    2. 在模板中自定义模块py文件,如:owen_tags.py
    3. 要在使用自定义filter与tag的模板页面中加载自定义模块py文件,案例:{% load owen_tags %}

    4. 自定义filter语法
    from django.template import Library
    register = Library()
    @register.filter(name='jump')
    def owen_jump(value, arg):
    try:
    return value * int(arg)
    except (ValueError, TypeError):
    return ''

    5. 自定义tag语法
    @register.simple_tag(name='add_two')
    def owen_add(arg1, arg2):
    try:
    return int(arg1) + int(arg2)
    except (ValueError, TypeError):
    try:
    return arg1 + arg2
    except Exception:
    return ''

  • 相关阅读:
    jquery通过val()取不到textarea中的值
    form表单右边弹窗提示不能为空
    正则表达式
    layui表格的批量删除功能
    layui中table表格的操作列(删除,编辑)等按钮的操作
    layui动态渲染生成select的option值
    layui实现table表格的“关键字搜索”功能
    Python3基础 break while循环示例
    Python3基础 bool类型变量赋值
    Python3基础 assert 断言 确保程序的正确运行条件
  • 原文地址:https://www.cnblogs.com/wrqysrt/p/10457229.html
Copyright © 2011-2022 走看看