功能概要:(目前已实现功能)

公共展示部分:

1.网站首页展示已发布的博客记录,包括名称、摘要信息、发布日期、阅读量及评论数。

2.首页文章列表可按照分类筛选。

3.点击标题或阅读全文链接,进入博客阅读页面,展示文章标题、内容及评论内容。

博客后台管理部分:(后台套用了一个叫做ACE的后台模板,改造成了django形式的)

1.管理员登录功能

2.分页展示文章列表,可查看、编辑、删除选中文章,并支持批量删除功能。

3.增加新文章功能,利用百度ueEditor富文本编辑器,支持代码高亮显示功能。

4.支持分类的增、删、改、查功能。

下面是几张截图:

首页文章显示:

文章显示页面:

后台管理:

开发环境及软件版本:

开发是在windows 7,利用sublime text2编辑器。

采用python2.7.3+django1.7.0+mysql

前端采用bootstrap和一些成熟的jquery插件。

开发过程:

1.创建项目及app,规划项目结构

2.设计数据模型,即数据库表及表结构。

3.设计公共展示部分样式,及后台数据与模板视图的展示。

4.改造ACE后台模板,添加文章管理、类别管理功能及登录验证功能。

5.部署到CentOS6.5,部署方式:nginx+uwsgi+django1.6+mysql

每一个步骤都有好多更小更细的知识点,以后的文章会根据每一个大的点进行详细讲解。

项目源码已经放到github上:源代码请到这里,代码也已经部署到sina sea上,地址为http://fengzheng.sinaapp.com/

如何用django开发一个简易个人Blog的更多相关文章

  1. django开发个人简易Blog——数据模型

    提到数据模型,一定要说一下MVC,MVC框架是现代web开发中最流行的开发框架,它将数据与业务逻辑分开,减小了应用之间的高度耦合.个人非常喜欢MVC开发框架,除了具有上述特性,它使得web开发变得非常 ...

  2. 使用Phalcon框架开发一个简易的博客系统

    使用Phalcon PHP框架开发一个简易的博客系统(类似于CMS) 最近在做Phalcon(Phalcon在英文中指的是鸟类中飞得最快的那一个物种,由于是高性能框架,借用了这个词)相关的项目,由于刚 ...

  3. php怎么做网站?如何用PHP开发一个完整的网站?

    1.PHPer应具备的知识 (1)PHP知识: 熟练掌握基础函数,PHP语句(条件.循环),数组(排序.读取),函数(内部 构造),运算(数学 逻辑),面向对象(继承 接口 封装 多态静态属性)等. ...

  4. android开发学习---开发一个简易的短信发送器

    一.需求: 开发一个简易的短信发送器,输入:对方手机号码,短信内容,点击发送按钮,短信发送成功,对方手机成功收到短信. 其中要求短信内容过长时可以自动拆分,长度英文是160个英文,中文是70个,中英混 ...

  5. jQuery 开发一个简易插件

    jQuery 开发一个简易插件 //主要内容 $.changeCss = function(options){ var defaults = { color:'blue', ele:'text', f ...

  6. 用django搭建一个简易blog系统(翻译)(一)

    Django 入门 原始网址: http://www.creativebloq.com/netmag/get-started-django-7132932 代码:https://github.com/ ...

  7. 用django搭建一个简易blog系统(翻译)(三)

    06. Connecting the Django admin to the blog app Django 本身就带有一个应用叫作Admin,而且它是一个很好的工具 在这一部分,我们将要激活admi ...

  8. Django创建一个简单的blog

    1. 使用django-admin.py 创建mysite项目 sunny@sunny-ThinkPad-T450:~/PycharmProjects$ django-admin.py startpr ...

  9. Python Django 编写一个简易的后台管理工具4-添加admin模版

    导入admin后台模版 可以在网上任意搜索模版,我这里也提供一个地址github 拷贝admin后台的html文件至项目的templates文件夹 创建static文件夹,将admin后台的js,im ...

随机推荐

  1. echarts绘制甘特图

      在setoption之后添加这段代码: window.addEventListener('resize', function () { myChart.resize();   }); 图表就能随着 ...

  2. HTML5之tabindex属性

    1 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title&g ...

  3. js简化判断是否为手机访问

    var ua = navigator.userAgent; var ipad = ua.match(/(iPad).*OS\s([\d_]+)/), isIphone = !ipad &&am ...

  4. Bomb

    Description The counter-terrorists found a time bomb in the dust. But this time the terrorists impro ...

  5. oracle方案是什么?

    某用户拥有的所有的数据库对象的逻辑集合,就叫方案:方案在名称上和用户名是相同的. 比如有一个Oracle"用户"叫scott,那么一般称Scott用户所拥有的所有数据库对象的集合叫 ...

  6. angular js 的 ng-keyup 监听 keydown keyup事件获取 keyCode

    参考这个页面.http://www.angularjshub.com/examples/eventhandlers/keyboardevents/ Html页面代码: <input ng-mod ...

  7. JavaScript-cookie是客户端本地,持久存储用户私密数据的文件

    navigator:封装浏览器配置信息的对象 cookieEnabled:判断浏览器是否启用cookie cookie是什么:cookie是客户端本地,持久存储用户私密数据的文件 plugins:包含 ...

  8. ArcGIS Engine10.2如何安装在 VisualStudio2013 开发环境下

    所谓工欲善其事必先利其器,10.2中的ArcObject SDK for Microsoft .Net Framework只能支持VS2010和VS2012环境. 那么如何在VS2013下安装呢? 准 ...

  9. 如何编写高效的jQuery代码

    jQuery的编写原则: 一.不要过度使用jQuery 1. jQuery速度再快,也无法与原生的javascript方法相比,而且建立的jQuery对象包含的信息量很庞大.所以有原生方法可以使用的场 ...

  10. 初学python第二天

    今天我将用python来编写一款小游戏,用这个来总结一下自己学过的一些基础语法.没错,它就是井字游戏.想想自己第一接触这种游戏,还是小学生呢