一、母版

在实际应用中,在开发一个网站时,从首页到主页、到目录页,等等!有时候,我们大部分基础网页头、边框、侧边框、基础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 = "" %(id,arg,)
return mark_safe(result)
  • 在模版中下载自己的文件

    {% load 文件名 %}

  • 模版中使用该函数

    {% my_fun arg1 arg2 %}

Django 内的母版-子html规则的更多相关文章

  1. Django初探(模板渲染、模板语音、simple_tag、母版子版、静态配置文件)

    一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建:   这样一个Django项目就创建完成了,上面可以看 ...

  2. Django学习笔记之模板渲染、模板语言、simple_tag、母版子版、静态配置文件

    一.首先我们用PyCharm来创建一个Django项目 终端命令:django-admin startproject sitename 图形创建:   这样一个Django项目就创建完成了,上面可以看 ...

  3. Django内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttyp ...

  4. Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  5. 框架----Django内置Admin

    Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有: 依赖APP: django.contrib.auth django.contrib.contenttyp ...

  6. 第三章:模版层 - 2:Django内置模板标签

    Django内置标签总览 可以查询下表来总览Django的内置标签: 标签 说明 autoescape 自动转义开关 block 块引用 comment 注释 csrf_token CSRF令牌 cy ...

  7. Django内置分页

    一.django内置分页 from django.shortcuts import render from django.core.paginator import Paginator, EmptyP ...

  8. Django 内置分页器

    先导入Django内置的分页器 在商品列表页或者购物车列表页导入 在渲染list.html导入 然后在views后台渲染方法写入 打开list页面结果

  9. Django内置权限扩展案例

    当Django的内置权限无法满足需求的时候就自己扩展吧~ 背景介绍 overmind项目使用了Django内置的权限系统,Django内置权限系统基于model层做控制,新的model创建后会默认新建 ...

随机推荐

  1. 谁记录了mysql error log中的超长信息

    [问题] 最近查看MySQL的error log文件时,发现有很多服务器的文件中有大量的如下日志,内容很长(大小在200K左右),从记录的内容看,并没有明显的异常信息. 有一台测试服务器也有类似的问题 ...

  2. Windows Server 2016-配置Windows Defender防病毒排除项

    Windows Server 2016 的计算机上的 Windows Defender 防病毒自动注册你在某些排除项,由你指定的服务器角色定义. 这些排除项不会显示在Windows 安全中心应用中所示 ...

  3. 【Ubuntu16.04.4】常用配置

    1.为root用户设置密码 sudo passwd root 2.设置用户登陆界面 sudo gedit  /usr/share/lightdm/lightdm.conf.d/50-unity-gre ...

  4. 基于PHP的颜色生成器

    <?php  function randomColor()  {      $str = '#';      for($i = 0 ; $i < 6 ; $i++)     {      ...

  5. C# -- 二分法查找

    二分法查找:适用于已经排序好的数组 1.二分法查找(入门案例) static void Main(string[] args) { , , , , , , , , , , , , , , , , , ...

  6. 028实现strStr()

    #pragma once #include "000库函数.h" /*********************自解**************/ //使用算法中的find 12ms ...

  7. #006 C语言大作业学生管理系统第三天

    还差最后两部分 读取文件 恢复删除的学生信息 先学会处理文件的 知识点,再继续跟着视频做这个作业. 应该明天周六能把视频里手把手教的学生管理系统敲完 第二周尽量自己能完成C语言课本最后面那道学生管理系 ...

  8. Java多线程(四)java中的Sleep方法

    点我跳过黑哥的卑鄙广告行为,进入正文. Java多线程系列更新中~ 正式篇: Java多线程(一) 什么是线程 Java多线程(二)关于多线程的CPU密集型和IO密集型这件事 Java多线程(三)如何 ...

  9. props default 数组/对象的默认值应当由一个工厂函数返回

    export default {props: { slides:{ type:Array, default:[] } },这是我的代码 报错是Invalid default value for pro ...

  10. ArcMap2Sld:一个将MXD中图层配图样式转换为OGC的SLD文件的开源工具

    在一个项目中,用户采用GeoServer做为GIS服务器(原因嘛当然是免费能省钱,经过验证可能还会在性能和稳定性等表现力也有优越性),但是手上收集的数据都是ESRI格式的,这倒不打紧,因为GeoSer ...