Django 模板


当前第2页 返回上一页

过滤器 

  • https://docs.djangoproject.com/zh-CN/1.11/ref/templates/language/#filters  django官方文档

  • https://docs.djangoproject.com/zh-CN/1.11/ref/templates/builtins/#ref-templates-builtins-filters  django过滤器官方文档1

  • 过滤器用于对模板变量进行操作
  • 使用:

        >add:将值的值增加2。使用形式为:{{value | add:“ 2”}}

        > cut:从给定值中删除所有arg的值。使用形式为:{{value | cut:arg}}

        >date:格式化时间格式。使用形式为:{{value| date:“ Ymd H:M:S”}}

        >default:如果value是False,那么输出给定的默认值。使用形式:{{value | default:“ nothing”}}。例如,如果值是“”,那么输出将是nothing

        > first:返回列表/字符串中的第一个元素。使用形式:{{value | first}}

        > length:返回值的长度。使用形式:{{value | length}}

 自定义过滤器的步骤:

  • 在自己的应用文件下新建一个称为模板标签的python包
  • 在python包中新建一个过滤器的py文件
  • 配置
from django import template#导入模块
register = template.Library() #标准语句都不能改
#写函数装饰器
@register.filter
def add_xx(value, arg):  # 最多有两个
    return '{}-{}'.format(value, arg)#返回两个值的拼接
#在html使用方式
{% load my_tags %}#引用模块
{{ 'alex'|add_xx:'dsb' }}#通过函数名使用
@register.filter(name = xxx)#可以直接通过name等于的xxx取引用
def add_xx(value, arg):  # 最多有两个
    return '{}-{}'.format(value, arg)#返回两个值的拼接
#在html使用方式
{% load my_tags %}#引用模块
{{'alex'|xxx:'dsb'}}#通过赋值的name引用

模板注释       

  • 单行注释:{#注释内容#}
  • 多行注释:{%comment%}
  • 注释内容
  • {%最终评论%}
  • 模板注释的内容浏览器看不到,html注释的内容浏览器可以看到html的注释:

模板的继承

模板里编写{%block <demo>%}开头,{%endblock%}结尾处,代表可以被继承

例如如下新建的demo.html:

1.父模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        h1{
            color: blue;
        }
    </style>
</head>
<body>
{% block demo %}
<h1>模板1</h1>
{% endblock %}

{% block demo1 %}
<h1>模板2</h1>
{% endblock %}

{% block demo2 %}
<h1>模板3</h1>
{% endblock %}

{% block demo3 %}
<h1 style="color: red">模板4</h1>
{% endblock %}

{% block demo4 %}
<h1>模板5</h1>
{% endblock %}

</body>
</html>

2.子模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
{% extends 'demo.html' %} #继承模板

{% block demo %} #对引入的模板块进行从写
    <h1>这里是重写</h1>
{% endblock %}
</body>
</html>

模块约会完成,可以看到效果如下所示:




标签:Django

返回前面的内容

相关阅读 >>

部署静态文章

错误报告

Django 模型

Django 简介

Django 处理http请求

将mixins与基于类的视图一起使用

Django的缓存框架

内置基于类的通用视图

部署清单

Django 教程介绍

更多相关阅读请进入《Django》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...