老男孩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) 收藏 举报
浙公网安备 33010602011771号