首先说一下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. 最大流算法之ISAP

    序: 在之前的博文中,我解释了关于最大流的EK与Dinic算法,以及它们的STL/非STL的实现(其实没什么区别).本次讲解的是ISAP算法.'I',指 inproved,也就是说ISAP其实是SAP ...

  2. OA系统在实际应用中可发挥出的协同应用价值

    OA软件引进国内已有二十多年,早期的OA软件更多地是扮演一个"文秘"的角色,只进行一些基本的行政事务处理,创造的价值不大.但随着OA软件理论和技术的日趋成熟,OA软件摆脱了原有的局 ...

  3. NancyFx 2.0的开源框架的使用-Authentication

    新建一个空的项目 新建好了空的项目以后,接着通过NuGet安装一下三个包 Nancy Nancy.Hosting.Aspnet Nancy.ViewEnglines.Razor 然后在项目中添加Mod ...

  4. Nuget常用命令操作

    Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中添加.移除和更新引 ...

  5. python day2 练习题

    #/usr/bin/env python # -*- coding:utf-8 -*- # Author:ylw # name = '  ylwA  ' # 1.移除name变量对应的值两边的空格 # ...

  6. [刷题]算法竞赛入门经典(第2版) 5-14/UVa1598 - Exchange

    题意:模拟买卖,当出售价bid等于或低于出售价ask,则交易. 代码:(Accepted,0.330s) //UVa1598 - Exchange //Accepted 0.330s //#defin ...

  7. 高性能网站架构设计之缓存篇(1)- Redis C#客户端

    一.什么 RedisREmote DIctionary Server,简称 Redis,是一个类似于Memcached的Key-Value存储系统.相比Memcached,它支持更丰富的数据结构,包括 ...

  8. 深入理解Struts2----类型转换

         之前的一系列文章主要介绍了有关Struts2的一些基本用法和部分的简单原理,但是始终没有介绍有关拦截器的相关内容,从本篇开始我们将从另一个角度去深入理解框架的使用,核心还是拦截器,但本篇首先 ...

  9. 8、单选按钮(JRadioButton)和复选框(JCheckBox)

    8.单选按钮(JRadioButton)和复选框(JCheckBox) 实现一个单选按钮(或复选框),此按钮项可被选择或取消选择,并显示其状态.JRadioButton对象与ButtonGroup对象 ...

  10. swift学习 - tableView自适应高度2(SnapKit Layout)

    SnapKit是Swift中自动布局的框架,相当于Objective-C中的Masonry 下面是tableView自定义cell,使用SnapKit布局的效果图: 详细代码如下: TYCustomC ...