Advertisement

用Django全栈开发——07. 开发前端首页

阅读量:

大家好,这是皮爷给大家带来的最新的学习Python能干啥?之Django教程,从零开始,到最后成功部署上线的项目。这一节,我们就来说一下如何使用Bootstrap编写首页。

编写首页这个任务则是HTML的工作,所以,如果一步一步的来讲,会很费时间,这里我们就采用倒叙的方式来讲述,先看成品样子,再简单解释一下是如何做到的,因为采用这样的叙述方式,其实是告诉了你编写的方法,也就是“授之以渔”,在以后的开发中,你可以很轻松的来编写自己想要的页面。

我们的首页很简单,分为顶部的导航页面,Header文章区,文章列表区,以及右侧的专栏说明区域。编写好之后就是大概长这个样子:
在这里插入图片描述

如何开发

首先来介绍一下如何开发这个网页项目。

  • 第一步,就是上一篇文章讲到的,引入Bootstrap。
  • 第二步,就是使用之前安装的gulp

那么我们直接就来启动gulp。

首先进入项目,在Terminal里面,通过命令$cd front进入到front目录下:
002

然后直接输入$gulp命令,因为我们在前面的文章里面讲述了安装gulp,所以这里就会直接启动gulp,出现如下画面:
在这里插入图片描述

接着我们再看我们的浏览器里面,因为路径不对,目前浏览器里面显示的’Cannot GET’:
在这里插入图片描述

这个时候我们只需要输入正确的路径(URL)就可以:
在这里插入图片描述

在这之后的步骤,就是我们修改html文件里面的html代码,在浏览器这边就直接可以看到效果。

开发知识储备

由于前端页面使用的是Bootstrap框架,所以推荐大家如果遇到开发不懂,或者开发不了,或者开发不会布局的时候,访问一下几个网站,有助于解决问题:

  • Google(https://www.google.com/): 有条件的访问Google,直接搜索"Bootstrap how to do xxxxx" 即可,一般在Stack Overflow上面就有人已经回答过这个问题了,直接看答案参考即可。
  • 百度(https://www.baidu.com/):没条件的,就上百度搜索。
  • Bootstrap官方文档(https://getbootstrap.com/docs/4.3/getting-started/introduction/):这个文档很好用的,有一些不会的控件或者查询,直接在这里面搜索就可以。比如搜索Button,他就会出来所有Button相关的例子还有代码,你就可以根据自己需求来选择代码。

部分拆解

我们这个页面总共有这么几个部分:

  • 顶部导航栏;
  • 左侧文章列表,分为两部分,上半部分的首页推荐和下半部分的列表;
  • 右侧的信息栏,这里也有几个部分,不做解释;
  • 底部的footer

大致就这么四个部分,我们来一一的简单说明一下。

顶部导航栏

顶部导航长这个样子:
在这里插入图片描述

具体是怎么来的?我是参考的是官方帮助文档的页面:

怎么样?是不是很像?导航栏的代码结构很简单,就是一个header标签里面添加一个collapse的div而已。

复制代码
    <header class="navbar navbar-expand navbar-dark flex-column flex-md-row bd-navbar bg-dark">
    <div class="collapse navbar-collapse pl-4 ml-4">
        <a class="navbar-brand mr-4 " href="/"><p class="h2 mb-0"><b>Peekpa</b></p></a>
        <ul class="navbar-nav mr-auto mt-2 mt-lg-0">
            <li class="nav-item mr-4">
                <a class="nav-link" href="#">首页</a>
            </li>
            <li class="nav-item mr-4">
                <a class="nav-link active" href="#">文章</a>
            </li>
            <li class="nav-item mr-4">
                <a class="nav-link" href="#">论坛</a>
            </li>
            <li class="nav-item mr-4">
                <a class="nav-link" href="#">更多精选</a>
            </li>
        </ul>
    </div>
    </header>
左侧文章列表

左侧的文章列表,分为两部分,第一部分是上半部分的推荐文章,第二部分是下半部分的列表。大致长这个样子:
在这里插入图片描述

这个版块就涉及到一个Bootstrap的栅格系统的知识点了,相关资料(https://getbootstrap.com/docs/4.3/layout/grid/)。里面主要是row和col-xx-x的东西。

  • row代表一行
  • col-xx-x则是在row底下的列,一行最多12列。

我们这里将左边的列分成三行,第一行就是文章大图,第二行是三个小图,第三行则是用一个ul标签来表示的列表。

具体代码很简单,直接看源码就好:

复制代码
    <div class="col-md-8">
            <!-- 大焦点图 -->
            <div class="row" style="height: 230px;background-color: white">
                <!-- ... 省略内容 ... -->    
            </div>
            <!-- 三小图 -->
            <div class="row mt-2 justify-content-between" style="height: 130px;">
                <!-- 三小图(左) -->
                <div class="col-sm-4 pl-0 pr-1 position-relative">
                    <!-- ... 省略内容 ... -->
                </div>
                <!-- 三小图(中) -->
                <div class="col-sm-4 pl-1 pr-1 position-relative">
                    <!-- ... 省略内容 ... -->
                </div>
                <!-- 三小图(右) -->
                <div class="col-sm-4 pl-1 pr-0 position-relative">
                    <!-- ... 省略内容 ... -->
                </div>
            </div>
    
            <!-- 左侧文章列表 -->
            <div class="row mt-3">
                <ul class="col-sm-12 d-block">
    
                    <!-- 文章 一 -->
                    <li class="row mb-3" style="height: 180px;background-color: white">
                        <!-- ... 省略内容 ... -->
                    </li>
    
                    <!-- 文章 二 -->
                    <li class="row mb-3" style="height: 180px;background-color: white">
                        <!-- ... 省略内容 ... -->
                    </li>
    
                    <!-- 文章 三 -->
                    <li class="row mb-3" style="height: 180px;background-color: white">
                        <!-- ... 省略内容 ... -->
                    </li>
    
                    <!-- 文章 四 -->
                    <li class="row mb-3" style="height: 180px;background-color: white">
                        <!-- ... 省略内容 ... -->
                    </li>
                </ul>
            </div>
    
        </div>
右侧专栏列表

这一部分其实要比左边的部分简单,它长这个样子:

目前就是三个板块,公众号二维码,阅读排行以及友链板块,原理还是用的Bootstrap的row那一套,每一个板块分为两个row:标题一个row,内容一个row。实现起来很简单,具体可以简单看一下代码结构:

复制代码
    <!-- 右侧 -->
        <div class="col-md-4">
    
            <!-- 公众号广告 -->
            <div class="row ml-1" style="background-color: white">
                <div class="col-sm-12 mt-4">
                    <p class="h5 border-bottom pb-2 mb-2">『皮爷撸码』公众号</p>
                </div>
            </div>
            <div class="row ml-1" style="background-color: white; height: 285px;">
                <div class="col-sm-12 p-0 text-center h-100 pb-2">
                    <img src="https://via.placeholder.com/300x300" class="w-80 h-100">
                </div>
            </div>
    
            <!-- 文章板块 -->
            <div class="row ml-1 mt-4" style="background-color: white">
                <div class="col-sm-12 mt-4">
                    <p class="h5 border-bottom pb-2 mb-2 ml-1 pl-0 mr-1 pr-0">『皮爷撸码』阅读排行榜</p>
                </div>
            </div>
            <!-- 文章列表 -->
            <div class="row ml-1" style="background-color: white">
                <ul class="col-sm-12 d-block">
                    <!-- 列表内容一 -->
                    <li class="row mt-2 mb-2 pb-2 ml-0 pl-1 mr-0 pr-1 border-bottom " style="height: 100px;">
                        <!-- ... 省略内容 ... -->
                    </li>
                    <!-- 列表内容二 -->
                    <li class="row mt-2 mb-2 pb-2 ml-0 pl-1 mr-0 pr-1 border-bottom " style="height: 100px;">
                        <!-- ... 省略内容 ... -->
                    </li>
                    <!-- 列表内容三 -->
                    <li class="row mt-2 mb-2 pb-2 ml-0 pl-1 mr-0 pr-1 border-bottom " style="height: 100px;">
                    <!-- ... 省略内容 ... -->
                    </li>
                </ul>
            </div>
    
            <!-- 友链板块 -->
            <div class="row ml-1 mt-4" style="background-color: white">
                <div class="col-sm-12 mt-4">
                    <p class="h5 border-bottom pb-2 mb-2 ml-1 pl-0 mr-1 pr-0">友情链接</p>
                </div>
            </div>
    
            <!-- 友链数据 -->
            <div class="row ml-1" style="background-color: white">
                <ul class="list-unstyled row col-sm-12 pl-1 ml-0 ">
                    <li class=" col-sm-6">
                        <a href="#" class="text-decoration-none text-dark">
                            Address 1
                        </a>
                    </li>
    
                    <li class=" col-sm-6">
                        <a href="#" class="text-decoration-none text-dark">
                            Address 2
                        </a>
                    </li>
    
                    <li class=" col-sm-6">
                        <a href="#" class="text-decoration-none text-dark">
                            Address 3
                        </a>
                    </li>
                    
                </ul>
            </div>
    
        </div>
底部Footer

最后来说一下底部的Footer,也是很简单的一个footer,就一行,长这个样子:
在这里插入图片描述

代码也很简单,就是在footer标签,写两行内容就好:

复制代码
    <!-- Footer -->
    <footer class="page-footer font-small" style="background-color: #33333333">
    
    <!-- Copyright -->
    <div class="footer-copyright text-center py-3 bg-dark" style="color: #ffffff88;">© 2020 Copyright:
        <a href="#" class="pl-2"> Peekpa.com</a>
    </div>
    
    </footer>

至此,整个静态的首页就开发完成了,虽然看上去简单,但是还是推荐大家动手实战一下,因为HTML这个东西,细节很多,还是得实战才行。

技术总结

最后总结一下,

首页的开发:

  1. 首先将页面分成几个区域,逐个击破;
  2. 针对每个区域内部,使用Bootstrap的栅格系统来写;
  3. 利用gulp还有Chrome的开发者工具来进行微调;
  4. 完毕。

获取整套教程源码唯一途径,关注『皮爷撸码』,回复『peekpa.com

长按下图二维码关注,如文章对你有启发,欢迎在看与转发。
在这里插入图片描述

全部评论 (0)

还没有任何评论哟~