django

Django-07 模板层 过滤器和继承

2021-07-11  本文已影响0人  JuliusL

模板过滤器

常用过滤器

过滤器 说明
lower 将字符串转换为全部小写
upper 将字符串转换为大写
safe 默认不对变量内的字符串进行html转义
add:"n" 将value的值增加n
truncatechars:'n' 如果字符串字符多于指定的字符串数量,那么会被截断。截断的字符串将以可翻译的省略号序列("...")结尾
...

模板的继承

模板继承可以使父模板的内容重用,子模板直接继承父模板的全部内容并可以覆盖父模板中相应的块

语法-父模板中:

语法-子模板中:

例子

base.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    {% block mytitle %}
    <title>主页</title>
    {% endblock %}
</head>
<body>
<a href="/music_index">音乐频道</a>
<a href="/sport_index">体育频道</a>
<br>
{% block info %}
这是主页
{% endblock %}
<br>
<h3>有任何问题请联系xxx</h3>
</body>
</html>

music.html

{% extends 'base.html' %}
{% block mytitle %}
    <title>音乐频道</title>
{% endblock %}
{% block info %}
    欢迎来到音乐频道
{% endblock %}

views.py

def base_view(request):
    return render(request,'base.html')

def music_view(request):
    return render(request,'music.html')

def sport_view(request):
    return render(request,'sport.html')

urls.py

    path('base_index',views.base_view),
    path('music_index',views.music_view),
    path('sport_index',views.sport_view),

重写的覆盖规则

注意

上一篇下一篇

猜你喜欢

热点阅读