标签:Django

Django博客系统开发06

用户登录 博客作为内容管理系统(CMS)的一种形式,也应当具有CMS的两个功能:内容管理、权限管理。在之前的几篇中,我们已经实现了内容管理。现在实现用户管理,即用户的登录和登出以及页面权限管理。 首先我们现在一共有以下views: index(), post_view(), post_create(), post_edit(), post_drafts(), post_publish(), pos…

阅读全文 »

Django博客系统开发05

文章的增删改发布 通过之前的步骤,我们已经有了一个初步的网站页面(首页+Django Admin),其实我们已经可以通过admin页面来对文章进行操作了,但是为了更像是一个真正的博客,我们应该能够从前端进行对文章的增删改查。 查看文章(post_view) 我们现在只有一个页面–首页。在首页中,我们获取到的是全部已经发布的文章列表。现在,我们创建一个文章详情页,当用户点击首页的文章标题…

阅读全文 »

Django博客系统开发04

前端改造 在之前的几篇完成后,我们得到了一个简陋的首页,下面我们使用Bootstrap来美化一下我们的前端。 下载Bootstrap 需要下载的是Bootstrap的css和js,以及jquery。这里就不仔细说明了,下载后放到新建的static/目录下即可。现在,整个项目的结构如下: 注意到这里还有一个style.css,我将在这个文件中定义主体css。 style.css内容如下: 配置静态目…

阅读全文 »

Django博客系统开发03

路由Django URL Django框架通过urls.py文件中的规则对系统进行路由控制。首先我们在主路由hzsite/urls.py中引入hzblog的路由设置: 然后,在hzsite/urls.py中设置具体的路由规则 这里我们添加了一条规则,当用户访问网站根目录时,有views中的index方法处理。下面我们去views.py中添加index方法对请求进行处理。 对于路由发来的请求,ind…

阅读全文 »

Django博客系统开发02

模型Model Model即MVC模式中的模型,主要是通过ORM与数据库对接,执行对数据库的一些操作。博客系统的所有的模型都将在hzblog/models.py中定义。下面定义我们的第一个Model——Post: 定义完成后,我们使用migrate命令在数据库中生成相应的表结构 第一步中,django将为我们创建model修改后需要更改的sql。第二步中将这些更改写入到数据库中。 下面我们在dja…

阅读全文 »

Django博客系统开发01

环境搭建 开发环境 这里使用的是Ubuntu 16.04 LTS Server版本的系统,所以系统自带了Python3.5版本。但是系统默认使用的是Python2.7, 需要使用Python3时使用Python3命令。为了让开发环境相互隔离,我使用virtualenv创建独立的虚拟环境。 首先安装pip3 这里还需要安装一些依赖库以用于之后数据库的连接 (CentOS对应为python34-dev…

阅读全文 »

Django博客系统开发

一直想用Python实现一个博客系统来替换掉现在臃肿的WordPress。之前尝试过使用Flask框架来实现,但是由于功力不足,Flask这种小型框架做起来还是困难比较大的,所以决定还是从Django入手吧。在这之后应该会有一系列的文章来完成一个这个博客系统的实现,虽然离WordPress应该差距不小,但是至少应该能够实现一个博客系统需要的基本功能。 目录 Django博客系统开发01 &#821…

阅读全文 »

Django Model一对多、多对多关系

在Django的Model中,可以定义多种关系:一对一,多对一/一对多,多对多。 分别为: 一对一:OneToOneField 多对一:ForeignKey 多对多:ManyToManyField 可以更加natural的表述为: 多个属于一个,即 belong to : ForeignKey,多个属于一个 一个有一个,即 only has one: OneToOneField 一个有很多个,即 …

阅读全文 »