Django网页模板的继承include与复用extends

Django使用网页模板的方式分为两种, 一是建立代码块, 在新的页面导入代码块, 关键词为include 二是建立模板,新的页面在模板基础上扩充, 关键词为extends

导入代码块 include

  • 导入的代码块相当于一个完整的组件, 可以包含html标签, css样式, js语法
  • 如果你想在网页上乱入一块广告, include是非常乐意效劳的

定义一个代码块

<style>
    #ad{
        background-color: #FCF6E5;

        border-radius: 10px;
        margin: 0 auto;
        text-align: center;
        padding: 30px;
        font-size: 20px;
        position: relative;
        box-sizing: border-box;
    }
    #close {
        font-size: 10px;
        background-color: #AB3319;
        position: absolute;
        top: 10px;
        right: 10px;
        cursor:pointer;
        color: #ffffff;
        padding: 6px;
    }
</style>

<div id='ad'>
    大扎好,我系轱天乐,我四渣渣辉,<br>探挽懒月,介四里没有挽过的船新版本,<br>挤需体验三番钟,里造会干我一样,爱象节款游戏<br>
    (用港普来阅读以上内容)
    <span id="close">关闭X</span>
</div>
<script>
    document.getElementById("close").onclick = function(){
        document.getElementById("ad").style.display = "none";
    }
</script>

导入一个代码块

{% include './_ad.html'%}

<style>
    body {
        margin: 0;
        padding: 0;
    }

    .content {
        height: 300px;
        background-color: #FAFAFA;
        overflow: auto;
        border: 2px solid #FCF6E5;
        padding-left: 500px;
        box-sizing: border-box;
    }

    .title {
        color: #413F43;
        font-size: 30px;
        color: #AB3319;
        
    }
</style>

<div class="content">
    <div class="title"><b>Lemon</b> | 电视剧《非自然死亡》主题曲</div>
<br>夢ならばどれほどよかったでしょう 
<br>如果这一切都是梦境该有多好
<br>未だにあなたのことを夢にみる 
<br>至今仍能与你在梦中相遇
<br>忘れた物を取りに帰るように 
<br>如同取回遗忘之物一般
<br>古びた思い出の埃を払う 
<br>细细拂去将回忆覆盖的尘埃
<br>戻らない幸せがあることを 
<br>最终是你让我懂得了
<br>最後にあなたが教えてくれた 
<br>这世间亦有无法挽回的幸福
<br>言えずに隠してた昏い過去も 
<br>那些未对他人提及过的黑暗往事
<br>あなたがいなきゃ永遠に昏いまま 
<br>如果不曾有你的话 它们将永远沉睡在黑暗中
<br>きっともうこれ以上 傷つくことなど 
<br>我知道这世上一定没有
<br>ありはしないとわかっている 
<br>比这更令人难过的事情了
<br>あの日の悲しみさえ 
<br>那日的悲伤
<br>あの日の苦しみさえ 
<br>与那日的痛苦
<br>そのすべてを愛してた あなたとともに 
<br>连同深爱着这一切的你
<br>胸に残り離れない 
<br>化作了深深烙印在我心中的
<br>苦いレモンの匂い 
<br>苦涩柠檬的香气
<br>雨が降り止むまでは帰れない 
<br>在雨过天晴前都无法归去
<br>今でもあなたはわたしの光 
<br>时至今日 你仍是我的光芒
<br>暗闇であなたの背をなぞった 
<br>在黑暗中追寻着你的身影
<br>その輪郭を鮮明に覚えている 
<br>那轮廓至今仍鲜明地刻印于心
<br>受け止めきれないものと出会うたび 
<br>每当遇到无法承受的苦痛时
<br>溢れてやまないのは涙だけ 
<br>总是不禁泪如泉涌
<br>何をしていたの 
<br>你都经历过什么
<br>何を見ていたの 
<br>又目睹过什么呢
<br>わたしの知らない横顔で 
<br>脸上浮现着我不曾见过的神情
<br>どこかであなたが今 
<br>如果你正在什么地方
<br>わたしと同じ様な 
<br>与我一样
<br>涙にくれ 淋しさの中にいるなら 
<br>わたしのことなどどうか 忘れてください 
<br>就请你将我的一切全部遗忘吧
<br>そんなことを心から願うほどに 
<br>这是我发自内深处唯一的祈愿
<br>今でもあなたはわたしの光 
<br>时至今日 你仍是我的光芒
<br>自分が思うより 恋をしていたあなたに 
<br>我深深地恋慕着你 甚至超出了我自己的想象
<br>あれから思うように 息ができない 
<br>自此每当想起你 都如同窒息般痛苦
<br>あんなに側にいたのにまるで嘘みたい 
<br>你曾亲密伴我身旁 如今却如烟云般消散
<br>とても忘れられないそれだけが確か 
<br>唯一能确定的是 我永远都不会将你遗忘
<br>あの日の悲しみさえ 
<br>那日的悲伤
<br>あの日の苦しみさえ 
<br>与那日的痛苦
<br>その全てを愛してたあなたと共に 
<br>连同深爱着这一切的你
<br>胸に残り離れない 
<br>化作了深深烙印在我心中的
<br>苦いレモンの匂い 
<br>苦涩柠檬的香气
<br>雨が降り止むまでは帰れない 
<br>在雨过天晴前都无法归去
<br>切り分けた果実の片方の様に 
<br>如同被切开的半个柠檬一般
<br>今でもあなたはわたしの光 
<br>时至今日 你仍是我的光芒
</div>

扩充模板定义网页 extends

定义一个模板

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>将进酒</title>
</head>

    <style>
        body {
            margin: 0;
            padding-left: 100px;
            padding-right: 100px;
        }
        .poem-title {
            color: #AB3319;
            font-size: 50px;
            padding-top: 50px;

        }
        .poem-author {
            font-size: 30px;
            color: #5EA1F3;
            padding-top: 20px;
            font-weight: bold;
        }

        .poem-content {
            color: #444444;
            font-size: 20px;
            line-height: 36px;
            padding-top: 50px;
            padding-bottom: 50px;
        }

        .message-board {
            color: #62868D;
        }


        

    </style>
<body>

    <div class="poem-title">
    {% block poem_title %}诗歌-标题{% endblock poem_title %}
    </div>
    <div class="poem-author">
    {% block poem_author%}
    诗歌-作者
    {% endblock poem_author %}
    </div>

    <div class="poem-content">
    {% block poem_content%}
    诗歌-内容
    {% endblock poem_content %}
    </div>
    <div class="message-board">
    {% block message_board %}
    <div style="height: 300px; line-height: 300px; text-align: center; color: #BDBDBD; border: 1px solid #BDBDBD; border-radius: 6px;">留言区-暂时为空</div>
    {% endblock %}
    </div>

</body>

</html>

导入模板填入内容生成网页

{% extends "./_tem.html" %}
    {% block poem_title %}将进酒{% endblock poem_title %}
    {% block poem_author %}
        李白
    {% endblock poem_author %}
    {% block poem_content %}
    君不见,黄河之水天上来,奔流到海不复回。<br>
    君不见,高堂明镜悲白发,朝如青丝暮成雪!<br>
    人生得意须尽欢,莫使金樽空对月。<br>
    天生我材必有用,千金散尽还复来。<br>
    烹羊宰牛且为乐,会须一饮三百杯。<br>
    岑夫子,丹丘生,将进酒,杯莫停。<br>
    与君歌一曲,请君为我倾耳听。<br>
    钟鼓馔玉不足贵,但愿长醉不复醒。<br>
    古来圣贤皆寂寞,惟有饮者留其名。<br>
    陈王昔时宴平乐,斗酒十千恣欢谑。<br>
    主人何为言少钱,径须沽取对君酌。<br>
    五花马、千金裘,呼儿将出换美酒,与尔同销万古愁!<br>
    {% endblock poem_content %}

小结:

  • django适合承担比较大的项目, 如果一个项目中需要生成大量网页, 那模板继与复用就是不可或缺的,
  • 使用模板的好处有很多, 最基本的好处是能简化代码, 此外, django会根据模板生成完整的静态网页, 这种默认后端渲染的做法,非常利于seo, 提升了网站内容被搜索引擎抓取的概率
  • include和extends可以解决大多数模板继承与复用的问题, 而且二者是支持混用的, 为了将模板代码块与普通的html文件区分开, 推荐的做法是模板文件以下划线开头,如广告的模板文件可以命名为_ad.html
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,743评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,296评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,285评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,485评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,581评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,821评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,960评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,719评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,186评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,516评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,650评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,936评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,757评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,991评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,370评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,527评论 2 349

推荐阅读更多精彩内容