CoolBlog开发笔记第1课:项目分析
首先说一下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课:项目分析的更多相关文章
- CoolBlog开发笔记第2课:搭建开发环境
教程目录 1.1 CoolBlog开发笔记第1课:项目分析 前言 今天是CoolBlog开发笔记的第2课,我们将要讲解的是开发环境的搭建.俗话说"工欲善其事必先利其器",Djang ...
- CoolBlog开发笔记第3课:创建Django应用
教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 前言 经过上一节我们已经创建了CoolBlog工程,但是关于CoolBlog的功能代码 ...
- CoolBlog开发笔记第4课:数据库模型设计
教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 1.3 CoolBlog开发笔记第3课:创建Django应用 前言 我新书<Py ...
- CoolBlog开发笔记第5课:请求与响应
教程目录 1.1 CoolBlog开发笔记第1课:项目分析 1.2 CoolBlog开发笔记第2课:搭建开发环境 1.3 CoolBlog开发笔记第3课:创建Django应用 1.4 CoolBlog ...
- [开发笔记]-未找到与约束ContractName Microsoft.VisualStudio.Text.ITextDocumentFactoryService...匹配的导出【转载自:酷小孩】
原文地址:http://www.cnblogs.com/babycool/p/3199158.html 今天打算用VisualStudio2012做一个js效果页面测试的时候,打开VS2012新建项目 ...
- EasyUI 开发笔记(二)
接上篇 :EasyUI 开发笔记(一) (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...
- EasyUI 开发笔记(一)
由于某些原因,在公司做的后台需要改成类似于Ext.js 形式的后台,主要看好其中的 框架布局,以及tab开页面和弹出式内部窗体. 后来看看,改成EasyUI,较Ext.js 库小很多,也便于公司的初级 ...
- [Openwrt 项目开发笔记]:Openwrt平台搭建(一)
[Openwrt项目开发笔记]系列文章传送门:http://www.cnblogs.com/double-win/p/3888399.html 正文: 最近开始着手进行Openwrt平台的物联网网关设 ...
- Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例
引言 Cordova(PhoneGap)采用的是HTML5+JavaScript混合模式来开发移动手机APP,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...
随机推荐
- cd命令使用详解
cd命令是目录切换命令,是shell内置命令. 语法: cd [-L|-P] [dir] 选项: -p 如果要切换到的目标目录是一个符号连接,直接切换到符号连接指向的目标目录 -L 如果要切换的目标目 ...
- Django入门笔记
Django入门笔记 **文档包含Django安装包.学习的笔记.代码等 安装 Django参考附件,只需要把附件拷贝到你需要的目录就行.Django是1.8.16版本 Python:在附件中,其中有 ...
- Java基础知识二次学习--第八章 流
第八章 流 时间:2017年4月28日11:03:07~2017年4月28日11:41:54 章节:08章_01节 视频长度:21:15 内容:IO初步 心得: 所有的流在java.io包里面 定 ...
- 开涛spring3(3.4) - DI 之 3.4 Bean的作用域
3.4 Bean的作用域 什么是作用域呢?即“scope”,在面向对象程序设计中一般指对象或变量之间的可见范围.而在Spring容器中是指其创建的Bean对象相对于其他Bean对象的请求可见范围. ...
- poi解析excel
一.遇见的问题: 当单元格设置为日期类型时,cell.getCellStyle().getDataFormat()返回的值都为176. poi jar包3.14以上不支持用cell.getCellTy ...
- php实现批量修改文件名称
场景叙述:比如我要将D:\WWW\img\Gastroenterology这个文件夹下图片要重新命名成1.jpg,2.jpg.......这样的有规律名字, 如下图: 那么我们就可以利用php的ren ...
- Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
最近入手一台GTX 1070的笔记本,手痒想在win10上试下GPU跑模型,所以就有了接下来的安装GPU版mxnet的坎坷历程,经过多重试验终于搞定了python和R安装mxnet,现将主要点记录如下 ...
- Embedding R-generated Interactive HTML pages in MS PowerPoint(转)
Usually when I create slide decks these days I used markdown and slidy. However, I recently was ask ...
- 《算法4》2.1 - 插入排序算法(Insertion Sort), Python实现
排序算法列表电梯: 选择排序算法:详见 Selection Sort 插入排序算法(Insertion Sort):非常适用于小数组和部分排序好的数组,是应用比较多的算法.详见本文 插入排序算法的语言 ...
- node--更新数据库问题
昨天测试blog的comment功能,在新增comment相关的代码之后,重启应用,出现Cannot call method 'forEach' of undefined .反复核对代码,都没发现异常 ...