Django 搭建博客之一 - 基础数据构建
Django 搭建博客之一 - 基础数据构建
构建基础工程
从本章节开始,我们通过之前学到的知识来构建一个简易的博客项目。希望从中,各位学员可以继续巩固 Django 知识,并完成第一个 Django 小项目。
话不多说,正式开始。我们在 /home/shiyanlou/ 目录下创建一个名为 my_blog 的 Django 项目:
1 | $ django-admin.py startproject my_blog |
进入 my_blog 目录中建立一个 article app:
1 | python manage.py startapp article |
之后我们需要在 settings.py 中添加这个 app:
1 | INSTALLED_APPS = ( |
创建 Models 对博客文章进行描述
在 Django 项目建成后,默认设置了使用 SQLite 数据库,在 settings.py 中可以查看和修改数据库设置:
1 | DATABASES = { |
之后我们编写 my_blog/article/models.py 来创建 models。
1 | from django.db import models |
这里,title 、category、date_time、content 分别对应一篇博文的题目、标签、日期和正文内容。
而定义 str 方法是为了告诉数据库 Article 对象如何表示自己,系统默认的使用 <Article: Article object>
来表示对象。另外,指定 Meta 是为了按照时间降序排列。
- CharField 用于存储字符串, max_length设置最大长度
- TextField 用于存储大量文本
- DateTimeField 用于存储时间, auto_now_add设置True表示自动设置对象增加时间
修改 admin.py 配置后台,进入 article 目录,修改 admin.py 文件:
1 | from django.contrib import admin |
数据库同步
1 | $ python manage.py makemigrations |
当出现 OK 字样代表数据库同步成功。
在my_blog的根目录下执行命令:
1 | python manage.py shell |
进入 Django 的交互式 shell 来进行数据库的增加基础数据操作。同时该过程还可以验证数据库表的创建成功。
1 | >>> from article.models import Article |
这里我们增加一篇文章,其标题是 Hello World,所属的标签为 Python,其中的主要内容为 This is a sample.。当我们看见 <Article: Article object>
字样,说明我们的创建已经生效。下图是在实验楼环境下使用 Django 的交互式 shell 的测试结果(由于在作者的环境中已经安装 iPython 工具,则 shell 或自动使用该工具习惯进行启动)。
建立后台管理
在这个教程中我们讲过 Django 的一个有些特性,内置 Django admin 后台管理界面,方便管理者进行添加和删除网站数据库中的内容。由于 blog 有大量的文章需要我们来管理,所以这里我们引入这个工具。
新建的项目系统已经为我们设置好了后台管理功能,在 my_blog/my_blog/settings.py 中可以看到:
1 | INSTALLED_APPS = ( |
同时也已经添加了进入后台管理的 url,可以在 my_blog/my_blog/urls.py 中查看到:
1 | from django.conf.urls import patterns, include, url |
然后我们来创建超级管理员。使用改一下命令创建:
1 | $ python manage.py createsuperuser |
1 | $ python manege.py runserver 1103 |
根据他的提示,输入用户名、邮箱、密码之后创建成功。我们在 http://127.0.0.1:1103/admin/ 输入刚刚创建的超级管理员用户名和密码进行后台登录:
从这里我们可以看到刚刚使用 shell 创建的一个 Article 条目:
描述