Django 内的母版-子html规则

一、母版

在实际应用中,在开发一个网站时,从首页到主页、到目录页,等等!有时候,我们大部分基础网页头、边框、侧边框、基础css、js等复用性很高,如果每一个html都要独立去写的话,就太麻烦了。
而把这些很多页面都共用的东西抽取出来,使用面向对象的思想,让子版去继承这些母版,然后只需要自己不同就好了!而在Django 内是怎么实现的呢

1.1 模版语言
- {{ item }} - {% for item in item_list %} {{ item }} {% endfor %}   forloop.counter #从1开始计数自增 1 2 3 4 .... forloop.revcounter #反转计数自减   forloop.first #是否是第一个循环   forloop.last - {% if ordered_warranty %} {% else %} {% endif %}
  • 母板:{% block title %}{% endblock %} #母版中预留位置
  • 子板:{% extends "base.html" %} #子版引入母版
       {% block title %}{% endblock %} #子版中对应母版预留位置

帮助方法:

  • {{ item.event_start|date:"Y-m-d H:i:s"}}
  • {{ bio|truncatewords:"30" }} #截取30个字符
  • {{ my_list|first|upper }}
  • {{ name|lower }}
1.2 自定义simple_tag
1. 在于app同名的文件夹下创建名为:templatetags文件夹
  1. 在该文件夹中穿件任意名称的自己的py文件

  2. 在py文件中引入:

        from django import template
        rom django.utils.safestring import mark_safe
 
        #必须创建名称为:register 的实例
        register = template.Library()

         #装饰到自己的函数上
        @registrer.simple_tag
        def my_fun(*args):
            """do something with *args"""
            return result

        @register.simple_tag
        def my_input(id,arg):
            result = "< input type='text' id='%s' class='%s'/>" %(id,arg,)
            return mark_safe(result)
  • 在模版中下载自己的文件

  • 模版中使用该函数

posted @   G1733  阅读(282)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示