Django建站之旅(五):那些你不知道的Admin管理

1

創建超級用戶

網站是由多個精美的頁面組合而成的,用戶所能看到的頁面是網站的前台頁面,不能看到的則為後台頁面。

大多數網站都有著後台頁面,而Django所創建的網站也不例外,Django為我們提供了一個功能強大的後台頁面,完全不需要我們自己去編寫。

下面教大家如何來創建後台頁面。

首先要先創建一個超級用戶

命令:python manage.py createsuperuser

如上圖,當我們輸入命令之後,會提示我們讓我們一步步輸入用戶名,郵箱和密碼(讓我們輸入密碼的時候是不可見的)。

按照步驟下來後,就成功創建了一個超級用戶。

現在我們可以用這個超級用戶登入後台了。

啟動Django服務

打開瀏覽器,輸入url

127.0.0.1:8000/admin

這個admin的url其實我們在urls.py文件中已經提前配置好了

所以我們會毫不猶豫的來到後台管理的登錄頁面

輸入你之前創建的用戶名和密碼就能進入管理頁面了。

我們發現管理頁面真是簡潔,與其說簡潔,還不如說,啥都沒有。

哈哈別急,我們繼續看下去。

管理頁面用的最多的就是管理數據模型,這樣子我們就不用在資料庫中操作了,提供了很大的方便。

在上一節我們已經將模型創建好了,我們現在需要做的就是,將模型註冊進來。

打開我們myblog文件夾下的admin.py文件

from myblog.models import Article,Category,Photo,Micro
# Register your models here.
admin.site.register(Article)
admin.site.register(Category)
admin.site.register(Photo)
admin.site.register(Micro)

先從myblog中導入各個數據模型,然後再用admin註冊。

這時,回到我們的後台頁面,會發現已經把我們的項目以及數據模型加了進去。

我們試著用一下

以文章模型為例,我們點進去

裡面毫無內容

點擊右上角的ADD進行新建

我們發現title,Brief等要填寫的內容欄位,都是我們數據模型中有的。

隨便填寫一些內容

我們發現最下面的Category,也就是描述我們文章分類的數據模型是空的,所以我們點擊一下右邊綠色的小加號創建一下。

我們發現它也跟數據模型中一樣,只有一個欄位。

填寫內容,然後保存。

當我們保存好後,我們發現,它並不是以字元串的形式顯示的。

這個先別管,我們先保存,然後來看一下我們創建的第一個文章。

提示成功,但是文章的名稱依舊不是字元串顯示的,那我們應該怎麼讓它以字元串的形式顯示呢?

這個還得去模型中設置。

打開myblog下的model

我在兩個類下分別寫了個函數

def __str__(self):

這個函數的作用就是,將對象以字元串的形式顯示。

在模型中,我將分類模型的分類名,和文章模型的標題都以字元串的形式顯示。

由於我們的模型有了變動,所以我們要更新一下遷移文件

接下來是二連操作

python manage.py makemigrations

python manage.py migrate

現在讓我們回到瀏覽器中

效果還是很理想的,哈哈哈

另外兩個模型,大家也可以用相同的操作。

我們繼續回到我們文章模型的管理中來。

我們發現,這個界面還是太簡陋了,而且我們創建好一個文章後,只能顯示它的標題,其它的內容,竟然還要點進去,才能查看!

這可不行,所以我們可以接著來「升級」一下這個管理界面。

打開admin.py

我們又添了一點東西

class Article_Modeladmin(admin.ModelAdmin):
list_display = [title,brief,post,post_date,category]

我創建的這個類是為了Aricle模型服務的,並且繼承了admin.ModelAdmin,讓這個類變成了模型的管理器

類中的內容,是讓文章以什麼樣的方式顯示。我是根據它的欄位來一一顯示的。

寫好這個類後,還要改一下Aricle模型的註冊

把類加上去

admin.site.register(Article,Article_Modeladmin)

回到瀏覽器,看看變化

這樣子就比原來好看多了。

這是針對於文章模型的,其他模型的操作也類似。

通過上面的操作,我們不難發現,後台頁面的形式全是依靠著admin.py文件來改變的,如果你以後要讓後台界面功能更強大的話,就在admin.py中操作吧。

最後再講兩個小點

有時候我們發現Django伺服器中的時間不對,或者對後台頁面純英文不感冒。

我們都可以來setting.py中進行更改

默認的語言是英文,時間是國際時間

我們現在要把語言改為中文,時間改為中國時間

然後重啟伺服器

打開後台頁面,吼吼,英文已經變成簡體中文了

往期

1.建站之旅

2.環境搭建

3.應用創建與實例

4.模型的創建與移遷


推薦閱讀:

Django 圖片上傳開發
Django之nginx+wsgi後台部署(最新版)
十 【用django2.0來開發】給django增加markdown文本編輯器
如何用Django創建聯動選擇框
如何給你的django網站點亮Https

TAG:Python | Django(框架) | Python開發 |