zoukankan      html  css  js  c++  java
  • django第七天(模板的复用性,include标签和母版)

    django第7天模板

    include标签

    模板的共用
    a 模板需要到使用到 登陆界面
    b 模板需要使用到 登陆界面
    可以把登陆界面提取到公共的模板c
    
    为什么要用:
    都需要使用相同的界面,减少代码冗余
    
    公共的模板c
    html文件
    <div class = "login">
    详细代码
    </div>
    css文件
    .login{
        具体的css样式
    }
    
    
    然后在 a模板和b模板中加载模板c和其样式
    <link rel = 'stylesheet' herf='/static/css/login.css'
    {% include 'c模板名' %}
    
    

    inclusion_tag自定义标签

    不是完全相同的模块,因为模块的细节不是完全一致,而是模块有相似的结构
    
    自定义inclusion_tag
    首先是tag,故跟自定义tag类似
    在app文件夹下新建templatetags包!!!!,
    在该文件夹下新建一个blog_tags.py文件
    from django.template import Library
    register = Library()
    
    @register.inclusion_tag('public_tag.html',name="h_list")#打开哪个页面,将list传给这个页面,起了别名后,原来的函数名就不起作用了,只能使用别名
    def header_list(list):
        return {'list':list}
    
    
    公共模块
    public_tag.html
    <ul class="public_tag">
        <!-- 公用页面板块的详细html代码 -->
        {% for foo in list %}
        <li>{{ foo }}</li>
        {% endfor %}
    </ul>
    
    
    模块a
    {% load blog_tags %}
    {% with [1, 2, 3, 4, 5] as list %}
        {% h_list list %}
    {% endwith %}
        
    模块b
    {% load blog_tags %}
    {% with [10, 30, 50] as list %}
        {% h_list list %}
    {% endwith %}
    

    母版

    前提:多个页面的多个板块相同或相似,只有少部分是自己独有的,将共有的部分全部提出封装,包含了页面大部分结构,所以我们称其母版
        
    如何应用:
    1.先封装母版:大部分板块相同 相似的base.html,在特定的位置留出对应的block的接口,如果有自身样式,需要留出样式block
    2.每个需要运用母版页面的页面来继承母版
    {% extends "base/base.html" %}
    3.在自身页面中的任意位置书写block中自身独有的页面内容
    {% block right %}
    <ul>
    	<li>hah</li>
        <li>hah</li>
        <li>hah</li>
     </ul>
    {% endblock %}
    4.如果需要继承母版block中原有的内容
    {{block.super}}
        
        
    母版
    {% block right %}
    
    子模块
    #继承母版结构
    {% extends "base/base.html" %}
    #定义自己的独特部分
    {% block right %}
    <ul>
    	<li>hah</li>
        <li>hah</li>
        <li>hah</li>
     </ul>
    {% endblock %}
    
        
    继承母版block中原有的内容
    {{block.super}}
        
    
  • 相关阅读:
    Windows Live Writer介绍及相关问题解决
    阳光盒子火狐浏览器
    Cracking Wifi Wpa-Wpa2 in 5 second——Dumpper V.80.8 +JumpStart+WinPcap
    叮咚recovery——想刷什么包就刷什么包
    vivo s11t线刷救砖过程
    syskey——让你的电脑更加安全
    滑动关机
    QQ空间点赞大法+浏览器自动翻页脚本=点赞根本停不下来
    Kon-boot v2.5介绍与使用方法总结(支持win10)
    Mimikatz的使用心得
  • 原文地址:https://www.cnblogs.com/robert-zhou/p/10478874.html
Copyright © 2011-2022 走看看