老男孩python全栈就业班第9期第4部分django进阶第67天内容回顾

内容回顾

1.模板语言(字符串替换)

    1.母版和继承

        1.什么时候用母版?

            html 页面有重复的代码?(比如:导航条和左侧菜单)

        2.子页面如何使用母版?

            {% extends 'base.html' %}    -->    必须要放在子页面的第一行     

            母版里面定义 block(块),子页面使用 block(块)去替换母版中同名的块

    2.组件

        1.什么时候用组件?

            重复的代码,包装成一个独立的小html文件

        2.如何使用?

            {% include ‘nav.html’ %}

    3.Django 模板语言中关于静态文件路径的灵活写法

        1.利用 Django 模板语言内置的 static 方法帮我拼接静态文件的路径

            {% load static %}

            <link href="{% static 'bootstrap/css/boostrap.min.css' %}" rel="stylesheet">

        2.利用内置的 get_static_prefix 获取静态文件路径的别名,我们自行拼接路径

            {% load static %}

            <link href="{% get_static_prefix %}bootstrp/css/boostrap.min.css" rel="stylesheet">

        3.as语法(一个路径多次用到,可以使用 as 保存到一个变量,后面就直接使用变量代替具体路径)

    4.自定义的 simple_tag

        比 filter 高级一点点

        它可以接受的参数个数大于2    

    5.自定义的 inclusion_tg

        用来返回一段 html 代码(示例:返回 ul 标签)

        1.定义阶段

            在 app 下面新建 templatetags 文件夹(注意是 Python 包)

            新建一个 xx.py 文件 

from django import template
# 生成注册示例,名字必须是 register
register = template.Library()
@register.inclusion_tag("ul.html")
def show_ul(num):
    num = 1 if num < 1 else int(num)
    data = ["第{:0>3}号技师".format(i) for i in range(1, num+1)]
    return {"data":data}

        2.调用阶段   

{% load xx %}
{% show_ul 100 %}

    

posted on 2019-12-19 08:05  herisson_pan  阅读(6)  评论(0)    收藏  举报

导航