分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Django 内的母版-子html规则

发布时间:2023-09-06 02:15责任编辑:郭大石关键词:暂无标签
一、母版

在实际应用中,在开发一个网站时,从首页到主页、到目录页,等等!有时候,我们大部分基础网页头、边框、侧边框、基础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文件夹

  2. 在该文件夹中穿件任意名称的自己的py文件

  3. 在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)
  • 在模版中下载自己的文件
    {% load 文件名 %}

  • 模版中使用该函数
    {% my_fun arg1 arg2 %}

Django 内的母版-子html规则

原文地址:https://www.cnblogs.com/shiqi17/p/9607540.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved