成都网站建设设计

将想法与焦点和您一起共享

Python使用Django实现博客系统完整版-创新互联

今天花了一些时间搭了一个博客系统,虽然并没有相关于界面的美化,但是发布是没问题的。

成都创新互联是一家专业提供孟州企业网站建设,专注与成都网站设计、成都做网站、外贸网站建设html5、小程序制作等业务。10年已为孟州众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。

开发环境

操作系统:windows 7 64位
Django: 1.96
Python:2.7.11
IDE: PyCharm 2016.1

功能篇

既然是博客系统,发布的自然是博客了。让我们想想,一篇博客有什么属性。所以我们要有能添加博客,删除博客,修改博客,以及给博客发评论,贴标签,划分类等功能。

关系分析

属性


博客:标题,内容。
标签:标签名
分类:分类的名称
评论:评论人,评论人email,评论内容

关系


博客:一篇博客可以有多个标签,多个评论,属于一个分类
标签:一类标签可以赋予多篇博客,一个博客也可以由多个标签,所以是多对多的关系
分类:一个分类内部可以有多个博客,所以和博客是一对多的关系
评论:很明显一个评论属于一个博客,而一个博客可以有很多的评论,所以是一对多的关系。

模型层设计

废话不多说,根据上一步的关系分析,直接设计即可。

# coding:utf8
from __future__ import unicode_literals

from django.db import models

# Create your models here.
class Catagory(models.Model):
  """
  博客分类
  """
  name = models.CharField('名称',max_length=30)

  def __unicode__(self):
    return self.name

class Tag(models.Model):
  """
  博客标签
  """
  name = models.CharField('名称',max_length=16)

  def __unicode__(self):
    return self.name

class Blog(models.Model):
  """
  博客
  """
  title = models.CharField('标题',max_length=32)
  author = models.CharField('作者',max_length=16)
  content = models.TextField('博客正文')
  created = models.DateTimeField('发布时间',auto_now_add=True)
  catagory = models.ForeignKey(Catagory,verbose_name='分类')
  tags = models.ManyToManyField(Tag,verbose_name='标签')

  def __unicode__(self):
    return self.title

class Comment(models.Model):
  """
  评论
  """
  blog = models.ForeignKey(Blog,verbose_name='博客')
  name = models.CharField('称呼',max_length=16)
  email = models.EmailField('邮箱')
  content = models.CharField('内容',max_length=240)
  created = models.DateTimeField('发布时间',auto_now_add=True)

  def __unicode__(self):
    return self.content


网站名称:Python使用Django实现博客系统完整版-创新互联
网站地址:http://chengdu.cdxwcx.cn/article/doiies.html