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,因此当页面需要获取手机内部某些信息时(例如:联系人信息,坐标定位,短信等),程序就需要调用 ...
随机推荐
- android webview和 javascript 进行交互
HTML5进行app开发具有开发快,跨平台等优点,但是当客户需要访问照相机或者调用摄像头等硬件的时候,H5就会有限制,必须要调用原生方法进行设备访问.下面简要介绍JS和原生方法互相调用的方法: 1 在 ...
- 【复制粘贴】silverlight网格选择日期和时间
今天有个功能需要在网格中输入时间,本来是用文本框的,但是客户说不知道格式,要求用选择的形式,好像silverlight又没有能选择时间的控件,谷歌下得到一个曲线救国的答案,记录下 <sdk:Da ...
- Google的PageRank及其Map-reduce应用(日志五)
上一篇:Hadoop的安装(日志四) 1,算法的原理解释: 如下图所示,G就是传说中的谷歌矩阵,这个矩阵是n*n型号的,n表示共计有n个网页. 如矩阵中所示: 11位置处的元素,是表示第一个网页指向的 ...
- Linux文件属性及如何修改文件属性
ls -al:显示文件的文件名与相关属性并列出所有文件详细的权限与属性 dr-xr-x---. 7 root root 4096 Apr3 12:31 ...
- 【转】解决response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName) 中文显示乱码
如果fileName为中文则乱码.解决办法是 方法1: response.setHeader("Content-Disposition", "attachment; fi ...
- Java 多线程详解(二)------如何创建进程和线程
Java 多线程详解(一)------概念的引入:http://www.cnblogs.com/ysocean/p/6882988.html 在上一篇博客中,我们已经介绍了并发和并行的区别,以及进程和 ...
- 使用NetronGraphLib类库开发Qfd质量屋编制工具
前言 可执行文件下载 QfdHouse-exe.zip 因项目需要做了一个质量功能配置(Quality Function Deployment 简称Qfd)的质量屋编制工具软件,本软件是在发布一个免费 ...
- 利用formatter原理自动化参数化查询
前言:对于经常忙于服务端开发的小伙伴来说,与DB层打交道是在正常不过的事了,但是每次页面的查询条件新增往往意味着后端代码参数化同比增长,当然你可以不使用sqlhelper自带的参数化条件查询,可以直接 ...
- The dplyr package has been updated with new data manipulation commands for filters, joins and set operations.(转)
dplyr 0.4.0 January 9, 2015 in Uncategorized I’m very pleased to announce that dplyr 0.4.0 is now av ...
- superagent和request结果转换区别
superagent和request结果转换区别 使用superagent和request抓取页面内容时,两个抓取内容都可以被cheerio进行处理.但处理时有个细微差别. 1. 使用superage ...