靜態(tài)頁面抽取模板

一. 分析頁面

1.頁面分析

本項(xiàng)目由5個(gè)模塊組成分別是:news眼刃、coursedoc胖腾、useradmin瘪松,按照django的風(fēng)格咸作,在前面創(chuàng)建的模板文件夾templates下,分別創(chuàng)建以app名命名的文件夾news宵睦,course记罚,docuser状飞,admin毫胜,用于存放每個(gè)應(yīng)用的模板文件。在前面創(chuàng)建的靜態(tài)文件夾static下诬辈,也分別創(chuàng)建jscss荐吉,images焙糟,font等文件夾用來存放靜態(tài)文件。

本章先創(chuàng)建news样屠、course doc user 為例子:

01.jpg

2.分析模板頁面

觀察提供靜態(tài)模板頁面穿撮,找出公共部分,然后抽取作為基礎(chǔ)模板(base.html)痪欲。


02.jpg

經(jīng)過多次對比悦穿,發(fā)現(xiàn)提供的模板布局為,頭部導(dǎo)航业踢,中間內(nèi)容栗柒,右邊側(cè)欄,和尾部頁腳知举。
其中除了中間內(nèi)容的布局有所差異瞬沦,其他三個(gè)部分的布局都沒有改變太伊,
我們可以將這三個(gè)部分(頭部導(dǎo)航中間內(nèi)容逛钻,右邊側(cè)欄)抽出來作為base模板僚焦。

二.模板抽取

首先提供的模板靜態(tài)文件先復(fù)制進(jìn)static文件下相應(yīng)的文件夾
cssimages 曙痘、js 等文件夾

1.base模板抽取

提取頭部導(dǎo)航芳悲,尾部頁腳,和右邊的側(cè)欄边坤,在base目錄下創(chuàng)建base.html

03.jpg

在模板上面建議多做幾個(gè)繼承接口({% block 接口名字 %} {% endblock 接口名字%}
增加接口名字是為了更好區(qū)分代碼區(qū)域名扛,正所謂一個(gè)蘿卜一個(gè)坑
截圖如下:
04.jpg

05.jpg

base.html 代碼如下:

{% load static %}
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <!-- title model  start -->
    <title>{% block title %}{% endblock %}</title>
    <!-- title model end -->
    <link rel="stylesheet" href="{% static  'css/base/reset.css' %}">
    <link rel="stylesheet" href="{% static  'css/base/common.css' %}">
    <link rel="stylesheet" href="{% static  'css/base/side.css' %}">
    <link rel="stylesheet" >

    <!-- css model start -->
    {% block link %}
    {% endblock %}
    <!-- css model end   -->

</head>
<body>
<!-- header start -->
<header id="header">
    <div class="mw1200 header-contain clearfix">
        <!-- logo start -->
        <h1 class="logo">
            <a href="javascript:void(0);" class="logo-title">Python</a>
        </h1>
        <!-- logo end -->
        <!-- nav start -->
        <nav class="nav">
            <ul class="menu">
                <li><a href={% url 'news:index' %}>首頁</a></li>
                <li><a href={% url 'course:index' %}>在線課堂</a></li>
                <li><a href={% url 'doc:index' %}>下載文檔</a></li>
                <li><a href="search.html">搜索</a></li>
            </ul>
        </nav>
        <!-- nav end -->
        <!-- login start -->
        <div class="login-box">
            <div>
                <i class="PyWhich py-user"></i>
                <span>
                  <a href={% url 'user:login' %} class="login">登錄</a> / <a href={% url 'user:register' %}
                                                                          class="reg">注冊</a>
              </span>
            </div>
            <div class="author hide">
                <i class="PyWhich py-user"></i>
                <span>qwertyui</span>
                <ul class="author-menu">
                    <li><a href="javascript:void(0);">后臺管理</a></li>
                    <li><a href="javascript:void(0);">退出登錄</a></li>
                </ul>
            </div>
        </div>
        <!-- login end -->
    </div>
</header>
<!-- header end -->

<!-- main  model start -->
{% block main_start %}
    <main id="main">
        <div class="w1200 clearfix">
            <!-- main-contain  model start  -->
            {% block main_contain %}

            {% endblock main_contain %}
            <!-- main-contain model  end -->

            <!-- side model start -->
            {% block side %}
                <aside class="side">
                    <div class="side-activities">
                        <h3 class="activities-title">在線課堂<a href="javascript:void(0)">更多</a></h3>
                        <div class="activities-img">
                            <a href="javascript:void(0);" target="_blank">
                                <img src="{% static 'images/english.jpg'  %}" alt="title">
                            </a>
                            <p class="activities-tips">對話國外小姐姐</p>
                        </div>
                        <ul class="activities-list">
                            <li>
                                <a href="javascript:void(0);" target="_blank">
                                    <span class="active-status active-start">報(bào)名中</span>
                                    <span class="active-title"><a
                                            > Django 項(xiàng)目班</a></span>
                                </a>
                            </li>
                            <li>
                                <a href="javascript:void(0);" target="_blank">
                                    <span class="active-status active-end">已結(jié)束</span>
                                    <span class="active-title"><a
                                            >Python入門基礎(chǔ)班</a></span>
                                </a>
                            </li>
                        </ul>
                    </div>
                    <div class="side-attention clearfix">
                        <h3 class="attention-title">關(guān)注我</h3>
                        <ul class="side-attention-address">
                            <li>
                                <a href="javascript:void(0);" target="_blank"><i
                                        class="PyWhich py-GitHub"></i>XinLan</a>
                            </li>
                            <li>
                                <a href="javascript:void(0);" target="_blank"><i class="PyWhich py-zhihu"
                                                                                 style="color:rgb(0, 108, 226);"></i>XinLan</a>
                            </li>
                            <li>
                                <a href="javascript:void(0);" target="_blank"><i class="PyWhich py-weibo"
                                                                                 style="color:rgb(245,92,110);"></i>XinLan</a>
                            </li>
                        </ul>
                        <div class="side-attention-qr">
                            <p>掃碼關(guān)注</p>
                        </div>
                    </div>
                    <!-- hot news model start -->
                    {% block hotnews %}
                        <div class="side-hot-recommend">
                            <h3 class="hot-recommend">熱門推薦</h3>
                            <ul class="hot-news-list">

                                <li>
                                    <a href="javascript:void(0)" class="hot-news-contain clearfix">
                                        <div class="hot-news-thumbnail">
                                            <img src="{% static 'images/python_web.jpg'  %}"
                                                 alt="">
                                        </div>
                                        <div class="hot-news-content">
                                            <p class="hot-news-title">Django調(diào)試工具django-debug-toolbar安裝使用教程</p>
                                            <div class="hot-news-other clearfix">
                                                <span class="news-type">python框架</span>
                                                <!-- 自帶的 -->
                                                <time class="news-pub-time">11月11日</time>
                                                <span class="news-author">python</span>
                                            </div>
                                        </div>
                                    </a>
                                </li>

                            </ul>
                        </div>
                    {% endblock hotnews %}
                    <!-- hot news model start -->


                </aside>
            {% endblock side %}
            <!-- side model end -->
        </div>
    </main>
{% endblock main_start %}
<!-- main model end -->

<!-- footer start -->
<footer id="footer">
    <div class="footer-box">
        <div class="footer-content">
            <p class="top-content">
                    <span class="link">
                        <a href="javascript:void(0)">關(guān)于Python</a> |
                        <a href="javascript:void(0)">我就是我</a> |
                        <a href="javascript:void(0)">人生苦短</a> |
                        <a href="javascript:void(0)">我用Python</a>
                    </span>
                <span class="about-me">關(guān)于我: <i class="PyWhich py-wechat"></i> XinLan</span>
            </p>
            <p class="bottom-content">
                <span>地址: xxxx</span>
                <span>聯(lián)系方式: <a href="tel:400-1567-315">400-1567-315</a> (24小時(shí)在線)</span>
            </p>
        </div>
        <p class="copyright-desc">
            Copyright &copy; 2008 - 2018 xxx有限公司. All Rights Reserved
        </p>
    </div>
</footer>
<!-- footer end -->
<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.js"></script>
<script src={% static 'js/base/common.js'%}></script>
<!-- script model start -->
{% block script %}
{% endblock script %}
<!-- script model end -->
</body>
</html>
2.doc模塊以及docDownload.html:

截圖如下:


09.jpg
08.jpg
10.jpg

docDownload.html 代碼如下:

{% extends 'base/base.html' %}
{% load static %}
{% block title %}下載文檔{% endblock title %}
{% block link %}
    <link rel="stylesheet" href={% static 'css/doc/docDownload.css' %}>
    <script>
    pageIndex=2
    </script>
{% endblock link %}

{% block main_contain %}
    <div class="main-contain ">
            <div class="banner">
                <img src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=1802845035,3786939119&fm=26&gp=0.jpg"
                     alt="">
            </div>
            <div class="pay-doc-contain">
                <ul class="pay-list">

                    <li class="pay-item">
                        <div class="pay-img doc"></div>
                        <div class="d-contain">
                            <p class="doc-title">python cookbook 3.0 教程</p>
                            <p class="doc-desc">強(qiáng)烈推薦的python 教程惩嘉。</p>

                            <!-- /www/?xxx -->
                            <a href="#" class="pay-price">下載</a>
                        </div>
                    </li>

                    <li class="pay-item">
                        <div class="pay-img doc"></div>
                        <div class="pay-contain">
                            <p class="pay-title">流暢的Python</p>
                            <p class="pay-desc">【本書特色】

                                本書由奮戰(zhàn)在Python開發(fā)一線近20年的Luciano Ramalho執(zhí)筆罢洲,Victor Stinner、Alex
                                Martelli等Python大咖擔(dān)綱技術(shù)審稿人文黎,從語言設(shè)計(jì)層面剖析編程細(xì)節(jié)惹苗,兼顧Python 3和Python
                                2,告訴你Python中不親自動手實(shí)踐就無法理解的語言陷阱成因和解決之道耸峭,教你寫出風(fēng)格地道的Python代碼桩蓉。</p>

                            <!-- /www/?xxx -->
                            <a href="#" class="pay-price">下載</a>
                        </div>
                    </li>

                    <li class="pay-item">
                        <div class="pay-img doc"></div>
                        <div class="pay-contain">
                            <p class="pay-title">深入Flask</p>
                            <p class="pay-desc">深入Flask,強(qiáng)烈推薦劳闹!</p>

                            <!-- /www/?xxx -->
                            <a href="#" class="pay-price">下載</a>
                        </div>
                    </li>

                </ul>
            </div>
        </div>
{% endblock main_contain %}

{% block script %}
{% endblock script %}

其他頁面如此類推院究,,最終成果截圖


11.jpg

三. 最后別忘記推送到 碼云

 $ git add .
 $ git commit -m 'update projects'
 $ git push origin master
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末本涕,一起剝皮案震驚了整個(gè)濱河市业汰,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌菩颖,老刑警劉巖样漆,帶你破解...
    沈念sama閱讀 219,366評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異晦闰,居然都是意外死亡放祟,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評論 3 395
  • 文/潘曉璐 我一進(jìn)店門呻右,熙熙樓的掌柜王于貴愁眉苦臉地迎上來跪妥,“玉大人,你說我怎么就攤上這事声滥∶寄欤” “怎么了?”我有些...
    開封第一講書人閱讀 165,689評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長执桌。 經(jīng)常有香客問我鄙皇,道長,這世上最難降的妖魔是什么仰挣? 我笑而不...
    開封第一講書人閱讀 58,925評論 1 295
  • 正文 為了忘掉前任伴逸,我火速辦了婚禮,結(jié)果婚禮上膘壶,老公的妹妹穿的比我還像新娘错蝴。我一直安慰自己,他們只是感情好颓芭,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評論 6 392
  • 文/花漫 我一把揭開白布顷锰。 她就那樣靜靜地躺著,像睡著了一般亡问。 火紅的嫁衣襯著肌膚如雪官紫。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,727評論 1 305
  • 那天州藕,我揣著相機(jī)與錄音束世,去河邊找鬼。 笑死床玻,一個(gè)胖子當(dāng)著我的面吹牛毁涉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播锈死,決...
    沈念sama閱讀 40,447評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼贫堰,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了待牵?” 一聲冷哼從身側(cè)響起其屏,我...
    開封第一講書人閱讀 39,349評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎缨该,沒想到半個(gè)月后漫玄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,820評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡压彭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了渗常。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片壮不。...
    茶點(diǎn)故事閱讀 40,127評論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖皱碘,靈堂內(nèi)的尸體忽然破棺而出询一,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評論 5 346
  • 正文 年R本政府宣布健蕊,位于F島的核電站菱阵,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏缩功。R本人自食惡果不足惜晴及,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望嫡锌。 院中可真熱鬧虑稼,春花似錦、人聲如沸势木。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽啦桌。三九已至溯壶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間甫男,已是汗流浹背且改。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留查剖,地道東北人钾虐。 一個(gè)月前我還...
    沈念sama閱讀 48,388評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像笋庄,于是被迫代替她去往敵國和親效扫。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評論 2 355

推薦閱讀更多精彩內(nèi)容