django 模板自定义函数 simple_filter simple_tag

模版自定义函数

simple_filter

    1、最多两个参数,方式{{第一个参数|函数名:"第二个参数"}}

    2、可以做判断条件

simple_tag:(常用)

    1、无限制的传参数 {% 函数名 参数 参数 参数 %}

 tag  可以加多个参数

filter 只能是一个参数,但是filter可以进行 if 判断

 

创建模板自定义函数的步骤

1、在app中创建一个 templatetags 的模块

2、创建任意*.py的文件,比如xx.py

复制代码
from django import template

register = template.Library()

@register.filter
def my_upper(value, arg):
    return value + arg

@register.filter
def my_bool(value):
    return False

@register.simple_tag
def my_lower(value, a1, a2, a3):
    return value + a1 + a2 + a3
View Code
复制代码

3、在使用自定义simple_tag的html文件中导入之前创建的 xx.py 文件名

  {% load xx %}

4、使用simple_filter和simple_tag

  

复制代码
{% load xx %}
<!DOCTYPE html>
<html lang="en">
<head>

    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2>传参内容name:{{ name }}</h2>

<h2>filte应用</h2>
    {{ name|my_upper:'666'}}

<h2>tags应用</h2>
    {% my_lower 'ALEX' 'b' 'c' 'd' %}

<h2>filter 可当作判断条件</h2>
    {% if name|my_bool %}
        <h3>真</h3>
    {% else %}
        <h3>假</h3>
    {% endif %}


{#{% for key in userinfo.values %}#}
{#    {{ key }}#}
{#{% endfor %}#}

</body>
</html>
View Code
复制代码

 

5、在setting.py中注册app01

     

 

posted @   茶叶蛋蛋  阅读(90)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示