一、前言
1.1.环境
python版本:3.6
Django版本:1.11.6
1.2.预览效果
最终搭建的blog的样子,基本上满足需求了。框架搭好了,至于CSS,可以根据自己喜好随意搭配。
二、建立博客应用
2.1.建立项目和应用
创建工程blogproject
python manage.py startproject blogproject
创建blog应用
python manage.py startpapp blog
打开 blogproject 目录下的 settings.py 文件,找到 INSTALLED_APPS 设置项,将 blog 应用添加进去。
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'blog',
]
2.2.目录结构
三、创建blog的数据库模型
3.1.设计博客的数据库表结构
博客最主要的功能就是展示我们写的文章,它需要从某个地方获取博客文章数据才能把文章展示出来,通常来说这个地方就是数据库。我们把写好的文章永久地保存在数据库里,当用户访问我们的博客时,Django 就去数据库里把这些数据取出来展现给用户。
博客的文章应该含有标题、正文、作者、发表时间等数据。一个更加现代化的博客文章还希望它有分类、标签、评论等。为了更好地存储这些数据,我们需要合理地组织数据库的表结构。
我们的博客初级版本主要包含博客文章,文章会有分类以及标签。一篇文章只能有一个分类,但可以打上很多标签。我们把分类和标签做成单独的数据库表,再把文章和分类、标签关联起来。下面分别是分类和标签的数据库表:
分类id 分类名
1 python
2 Django
标签id 标签名
1 python学习
2 Django学习
3.2.编写博客模型代码
分类数据库表:
# blog/models.py
from django.db import models
class Category(models.Model):
name = models.CharField(max_length=100)
Category 就是一个标准的 Python 类,它继承了 models.Model 类,类名为 Category 。Category 类有一个属性 name,它是 models.CharField 的一个实例。
我们需要 3 个表格:文章(Post)、分类(Category)以及标签(Tag),下面就来分别编写它们对应的 Python 类。模型的代码通常写在相关应用的 models.py 文件里