搭建自己的博客(二):創建表,創建超級用戶
阿新 • • 發佈:2018-11-04
HERE clas content span self. alt 更新 記得 運行
接上一篇搭建完成之後,開始構建一些表了。
一篇博客首先需要一個表來存放博客,然後一篇博客應該需要不同的標簽來分類,還應該有作者。下面動手創建表。作者表暫時準備使用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字段已經變得能看懂了。
這次就到這裏,先熟悉一下。
搭建自己的博客(二):創建表,創建超級用戶