12-20

template的两大功能

  • 编辑login.html
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test001</title>
    <script src={% static "jquery-1.8.3.min.js" %}></script>
</head>
<body>
    {% for item in obj_li %}
        <div>
            {% if item.name == 'wu' %}
                <span id="test">{{ item.name }}</span>
                <span>{{ item.password }}</span>
            {% endif %}
        </div>
    {% endfor %}
</body>
</html>
<style>
    #test{
        width: 20px;
        height: 30px;
    }
</style>

<script>
    $('#test')
</script>
  • 变量的过滤器使用
   # 1  add          :   给变量加上相应的值
   
   #
   # 2  addslashes   :    给变量中的引号前加上斜线
   #
   # 3  capfirst     :    首字母大写
   #
   # 4  cut          :   从字符串中移除指定的字符
   #
   # 5  date         :   格式化日期字符串
   #
   # 6  default      :   如果值是False,就替换成设置的默认值,否则就是用本来的值
   #
   # 7  default_if_none:  如果值是None,就替换成设置的默认值,否则就使用本来的值

{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test001</title>
    <script src={% static "jquery-1.8.3.min.js" %}></script>
</head>
<body>
    {% for item in obj_li %}
        <div>
            {% if item.name == 'wu' %}
                <span id="test">{{ item.name|upper }}</span>
                <span>{{ item.password|add:3 }}</span>
            {% endif %}
        </div>
    {% endfor %}
    {{ test }}
    <br>
    {{ test|cut:' ' }}
    <br>
     {{ d }}
     <br>
     {{ d|date:'Y-m-d' }}


</body>
</html>
<style>
    #test{
        width: 20px;
        height: 30px;
    }
</style>

<script>
    $('#test')
</script>
  • simple_tag的内容,app中新建templatetags包,新建my_tag.py文件
my_tag.py的文件内容

from django.template import Library
register=Library()

@register.filter
def filter_func(x,y):
    return x+y

@register.simple_tag
def simple_func(t):
    return '2018-12-23'
    
login.html文件内容

{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test001</title>
    <script src={% static "jquery-1.8.3.min.js" %}></script>
</head>
<body>
    {% for item in obj_li %}
        <div>
            {% if item.name == 'wu' %}
                <span id="test">{{ item.name|upper }}</span>
                <span>{{ item.password|add:3 }}</span>
            {% endif %}
        </div>
    {% endfor %}
    {{ test }}
    <br>
    {{ test|cut:' ' }}
    <br>
     {{ d }}
     <br>
    {{ d|date:'Y-m-d' }}
    {% load my_tag %}
    {{ test|filter_func:'666' }}


</body>
</html>
<style>
    #test{
        width: 20px;
        height: 30px;
    }
</style>

<script>
    $('#test')
</script>

模板继承就是先构造一个基础框架模板,而后在其子模板中对它所包含站点公用部分和定义块进行重载。

  • 项目中的templates新建base.html
{% load staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>base</title>
    <script src={% static "jquery-1.8.3.min.js" %}></script>
</head>
<body>
<H1>I am top menu</H1>

<div>
    {% block content %}

    {% endblock %}
</div>

</body>
</html>
  • 修改login.html
{% extends "base.html" %}
    {% block content %}
    {% for item in obj_li %}
        <div>
            {% if item.name == 'wu' %}
                <span id="test">{{ item.name|upper }}</span>
                <span>{{ item.password|add:3 }}</span>
            {% endif %}
        </div>
    {% endfor %}
    {{ test }}
    <br>
    {{ test|cut:' ' }}
    <br>
     {{ d }}
     <br>
    {{ d|date:'Y-m-d' }}
    {% load my_tag %}
    {{ test|filter_func:'666' }}


</body>
</html>
<style>
    #test{
        width: 20px;
        height: 30px;
    }
</style>

<script>
    $('#test')
</script>
    {% endblock %}
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值