首先说一下CoolBlog开发笔记是我制作的《Django实战项目》系列教程基础篇的内容,使用Django来开发一个酷炫的个人博客,涉及的知识包括项目的分析,环境的搭建,模型和视图定义等等内容。为了给大家打打气,咱们看一下最终做出的效果,如下图所示。

图1.1 效果图

  是不是已经迫不及待了呢?不要着急,我们先对CoolBlog项目进行需求分析。每做一个项目,首先要做的不是开始编码,而且对这个项目进行整体的把握,确定项目的框架结构。

  首先。CoolBlog博客项目仿照的是https://www.leavesongs.com/博客网站,首先这个网站的结构和样式属于我比较喜欢的类型,而且这个博客的博主是安全圈比较有名的人物,也是我佩服的人之一,因此决定使用Django仿写一个类似的网站。目标确定后,我们分析一下这个网站的功能模块。首先看一下首页:

图1.2 首页1  

  首页上半部分被分成了两个部分:右上角部分是菜单栏,负责各个页面的跳转;另一部分可以看做是一个网站的介绍信息,这都不属于重要的部分。我们再看一下首页的下半部分。

图1.3 首页2

  左半边为文章列表,右半边为侧边栏,从上到下依次为搜索,最新评论,分类和随机标签。这些才是首页的重点。接着将文章列表细化,看一下文章列表中每篇文章的显示内容。如下图所示

图1.4 文章视图

  文章列表中文章主要分为三大块:第一块为文章的标题,第二块为文章介绍,第三块为文章的内容,确切地说为文章的摘要。第二块文章介绍又可以分为:文章的作者,分类,创建时间,评论数,浏览数和所属标签。下面咱们任选一篇文章点击进入,显示内容如下所示。

图1.5 文章详情页

  大家看到文章详情页,由上而下。最上面的方框显示的文章的类型路径,接下来是文章的标题和介绍,最下面是文章的全部内容。在文章的最后是属于该文章的评论列表和评论框。

图1.6 评论框

  综上所述,我们对这个项目的整体功能有了一个大致的了解。在这个项目中主要的功能模块包括:文章列表,文章详情,分类,标签,评论和搜索等六个部分。下面的教程,我们将依次完成这些功能,本节的内容就到这里,下一节开始讲解开发环境的搭建。

小结

  我新书《Python爬虫开发与项目实战》如果大家对这本书感兴趣的话,可以看一下 试读样章。

欢迎大家支持我公众号:

CoolBlog开发笔记第1课:项目分析的更多相关文章

  1. CoolBlog开发笔记第2课:搭建开发环境

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 前言 今天是CoolBlog开发笔记的第2课,我们将要讲解的是开发环境的搭建.俗话说"工欲善其事必先利其器",Djang ...

  2. CoolBlog开发笔记第3课:创建Django应用

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 前言 经过上一节我们已经创建了CoolBlog工程,但是关于CoolBlog的功能代码 ...

  3. CoolBlog开发笔记第4课:数据库模型设计

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 1.3 CoolBlog开发笔记第3课:创建Django应用 前言 我新书<Py ...

  4. CoolBlog开发笔记第5课:请求与响应

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 1.3 CoolBlog开发笔记第3课:创建Django应用 1.4 CoolBlog ...

  5. [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】

    原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...

  6. EasyUI 开发笔记(二)

    接上篇 :EasyUI 开发笔记(一)  (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...

  7. EasyUI 开发笔记(一)

    由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...

  8. [Openwrt 项目开发笔记]:Openwrt平台搭建(一)

    [Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...

  9. Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

    引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...

随机推荐

  1. Android VideoView使用小记

    在Android中播放视频一般采用VideoView,当然也可以自己使用MediaPlayer+SurfaceView,但是比较麻烦.这里记录一些我使用VideoView时的疑惑 1.如何监听播放完成 ...

  2. 记录——excel导出lua工具(python实现)

    项目需要一个从excel导出lua配置表的工具,之前的工具是主程写的,效率极差,i7 CPU 一次全部导出要花掉1个多小时.匪夷所思的是,这么渣的效率,居然用了整整一年.当 然,中途有人反映效率差,主 ...

  3. c#无限循环线程如何正确退出

    c#无限循环线程如何正确退出 在主程序将要结束时,迅速正确退出无限循环执行的子线程.一般子线程循环执行会有一个指定的周期, 在子线程等待(或者睡眠)时,无法唤醒退出,尤其在执行周期较长时,子线程无法即 ...

  4. 解决jmeter乱码问题(改配置文件)

    1.先改脚本里面的 content encoding为utf-8 然后response为utf-8 2.如果以上还是不可以,那就改配置文件jmeter.properties,里面的sampleresu ...

  5. JavaScript算法 ,Python算法,Go算法,java算法,系列之【归并排序】篇

    常见的内部排序算法有:插入排序.希尔排序.选择排序.冒泡排序.归并排序.快速排序.堆排序.基数排序等.用一张图概括: 归并排序(英语:Merge sort,或mergesort),是创建在归并操作上的 ...

  6. Tomcat--安装与部署(一)

    一.Tomcat背景 自从JSP发布之后,推出了各式各样的JSP引擎.Apache Group在完成GNUJSP1.0的开发以后,开始考虑在SUN的JSWDK基础上开发一个可以直接提供Web服务的JS ...

  7. 【 js 基础 】【 源码学习 】 setTimeout(fn, 0) 的作用

    在 zepto 源码中,$.fn 对象 有个 ready 函数,其中有这样一句 setTimeout(fn,0); $.fn = { ready: function(callback){ // don ...

  8. webpack的多文件打包问题

    1.第三方库如vue,vue-router可以利用webpack中的entry指定vendor:['vue','vue-router']来打包在一个文件中 2.将这些文件单独提取出来,在页面中使用&l ...

  9. 【JAVAWEB学习笔记】22_ajax

    Js原生Ajax和Jquery的Ajax 学习目标 案例1-异步校验用户名是否存在 案例2-站内查询 一.Ajax概述 1.什么是同步,什么是异步 同步现象:客户端发送请求到服务器端,当服务器返回响应 ...

  10. ES6入门2

    for-of循环: 新语法如下: for (var value of myArray) { console.log(value); } 它的优点是: 这是目前遍历数组最简洁和直接的语法: 它避免了fo ...