欢迎来到Felix的博客

Do the right things! And talk is cheap,show me your code!

搭建自己的博客(二):创建表,创建超级用户

接上一篇搭建完成之后,开始构建一些表了。

一篇博客首先需要一个表来存放博客,然后一篇博客应该需要不同的标签来分类,还应该有作者。下面动手创建表。作者表暂时准备使用django自带的user表

1、创建博客标签表和博客表。

打开blog app下的models模型文件,创建表如下:

from django.db import models
from django.contrib.auth.models import User # 导入User表

# Create your models here.

# 博客分类表
class BlogType(models.Model):
    type_name = models.CharField(max_length=15)  # 博客分类名称


# 博客表
class Blog(models.Model):
    title = models.CharField(max_length=50)  # 博客标题
    blog_type = models.ForeignKey(BlogType, on_delete=models.DO_NOTHING)  # 博客分类
    content = models.TextField()  # 博客内容
    author = models.ForeignKey(User, on_delete=models.DO_NOTHING)  # 博客作者
    created_time = models.DateTimeField(auto_now_add=True)  # 博客创建时间
    last_updated_time = models.DateTimeField(auto_now=True)  # 博客更新事件

 2、创建好表后记得数据库迁移

python manage.py makemigrations # 数据库迁移
python manage.py migrate # 数据库同步

3、创建超级用户

python manage.py createsuperuser  # 创建超级用户

4、在blog中的admin.py文件中指定在后台需要显示的字段

from django.contrib import admin
from .models import BlogType, Blog

# Register your models here.

@admin.register(BlogType)
class BlogTypeAdmin(admin.ModelAdmin):
    list_display = ('id', 'type_name')  # 需要显示的列表


@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
    list_display = ('title', 'blog_type', 'author', 'created_time', 'last_updated_time')

# 上面的装饰器和这句相同
# admin.site.register(Blog,BlogAdmin)

5、添加完后运行服务

在浏览器中输入http://127.0.0.1:8000/admin,进入django的后台登录界面

输入刚才创建好的超级用户的账号密码,进入。

图中的blog就是我们创建的blog  app,下面是我们创建的blogs,和blog type表。

6、在后台创建 一个blog type 和blog

如上图,上面显示的标题就是我们之前在admin.py文件中设置的要显示的字段。

从上图中我们发现blog type这一栏是一个对象,我们不知道他是啥,修改models.py文件,如下:

from django.db import models
from django.contrib.auth.models import User


# Create your models here.

# 博客分类
class BlogType(models.Model):
    type_name = models.CharField(max_length=15)  # 博客分类名称

    def __str__(self):  # 显示标签名
        return self.type_name


# 博客
class Blog(models.Model):
    title = models.CharField(max_length=50)  # 博客标题
    blog_type = models.ForeignKey(BlogType, on_delete=models.DO_NOTHING)  # 博客分类
    content = models.TextField()  # 博客内容
    author = models.ForeignKey(User, on_delete=models.DO_NOTHING)  # 博客作者
    created_time = models.DateTimeField(auto_now_add=True)  # 博客创建时间
    last_updated_time = models.DateTimeField(auto_now=True)  # 博客更新事件

    def __str__(self):  # 显示标题名
        return "<Blog:{}>".format(self.title)

 刷新浏览器:这次blog type字段已经变得能看懂了。

这次就到这里,先熟悉一下。

posted @ 2018-11-04 16:53  寂静的天空  阅读(886)  评论(0编辑  收藏  举报
个人感悟: 一个人最好的镜子就是自己,你眼中的你和别人眼中的你,不是一回事。有人夸你,别信;有人骂你,别听。一根稻草,扔街上就是垃圾;捆上白菜就是白菜价;捆上大闸蟹就是大闸蟹的价。 一个人,不狂是没有出息的,但一直狂,肯定是没有出息的。雨打残花风卷流云,剑影刀光闪过后,你满脸冷酷的站在珠峰顶端,傲视苍生无比英武,此时我问你:你怎么下去? 改变自己就是改变自己的心态,该沉的时候沉下去,该浮的时候浮上来;不争名夺利,不投机取巧,不尔虞我诈;少说、多听、多行动。人每所谓穷通寿夭为命所系,岂不知造物之报施,全视人之自取。 座佑铭:每一个不曾起舞的日子,都是对生命的辜负。