搭建本身的博客(二):建立表,建立超級用戶

接上一篇搭建完成以後,開始構建一些表了。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字段已經變得能看懂了。

此次就到這裏,先熟悉一下。

相關文章
相關標籤/搜索