编程语言
首页 > 编程语言> > 学习python,从入门到放弃(53)

学习python,从入门到放弃(53)

作者:互联网

学习python,从入门到放弃(53)

模板语法之过滤器

模板语法之标签

在django模板语法中写标签的时候,只需要写关键字然后tab键就会自动补全。

针对字典同样提供了keys、values、items方法

自定义过滤器、标签、inclusion_tag

在应用下需要创建一个名为templatetags的文件夹

在该文件夹内创建一个任意名称的py文件

在该py文件内需要先提前编写两行固定的代码

from django import template register = template.Library()

自定义过滤器:只能接收两个参数

@register.filter(is_safe=True)
def index(a, b):
    return a + b
{% load mytag %}
{{ n1|index:666 }}

自定义简单标签:可以接收任意的参数

@register.simple_tag(name='my_tag')
def func1(a, b, c, d):
    return a + b + c + d
{% my_tag 1 2 3 4 %}  # 参数之间空格隔开即可

自定义inclusion_tag

@register.inclusion_tag('left.html')
def func2(n):
    l1 = []
    for i in range(1, n + 1):
        l1.append(f'第{i}页')
    return locals()
{% func2 10 %}
###left.html###
<ul>
    {% for foo in l1 %}
        <li>{{ foo }}</li>
    {% endfor %}
</ul>

模板的导入

类似于将html页面上的局部页面做成模块的形式,哪个地方想要直接导入即可展示

有一个非常好看的获取用户数据的页面,需要在网站的多个页面上使用

注释语法补充

HTML的注释可以在前端浏览器页面上直接查看到,模板语法的注释只能在后端查看,前端浏览器查看不了。

模板的继承

类似于面向对象的继承:继承了某个页面就可以使用该页面上所有的资源

有很多网站的很多页面,其实都是差不多的,只是局部有所变化,模板的继承可以很好的实现该需求

模板上最少应该有三个区域
css区域、内容区域、js区域
子页面就可以有自己独立的css、js、内容

前期数据准备

django自带的sqlite3数据库,功能很少,并且针对日期类型不精确。

专门的测试环境

标签:入门,python,s1,53,tag,l1,过滤器,模板,页面
来源: https://www.cnblogs.com/lajiaomao/p/16278847.html