接上一篇搭建完成以後,開始構建一些表了。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字段已經變得能看懂了。
此次就到這裏,先熟悉一下。