接上一篇搭建完成以后,开始构建一些表了。python
一篇博客首先须要一个表来存放博客,而后一篇博客应该须要不一样的标签来分类,还应该有做者。下面动手建立表。做者表暂时准备使用django自带的user表数据库
一、建立博客标签表和博客表。django
打开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) # 博客更新事件
二、建立好表后记得数据库迁移app
python manage.py makemigrations # 数据库迁移
python manage.py migrate # 数据库同步
三、建立超级用户spa
python manage.py createsuperuser # 建立超级用户
四、在blog中的admin.py文件中指定在后台须要显示的字段3d
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)
五、添加完后运行服务code
在浏览器中输入http://127.0.0.1:8000/admin,进入django的后台登陆界面orm
输入刚才建立好的超级用户的帐号密码,进入。对象
图中的blog就是咱们建立的blog app,下面是咱们建立的blogs,和blog type表。
六、在后台建立 一个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字段已经变得能看懂了。
此次就到这里,先熟悉一下。