zoukankan      html  css  js  c++  java
  • 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)
    
    • 在模版中下载自己的文件
      {% load 文件名 %}

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

  • 相关阅读:
    团队十日冲刺1
    第八周学习进度
    人月神话阅读笔记02
    课堂练习-顶会热词统计
    第七周学习进度
    《vim — vimrc的设置》
    《开发板 — 调试串口》
    《网络编程 — 127.0.0.1的作用》
    《网络编程 — INADDR_ANY的含义》
    《开发板 — 上查看串口信息》
  • 原文地址:https://www.cnblogs.com/shiqi17/p/9607540.html
Copyright © 2011-2022 走看看