網站是由多個精美的頁面組合而成的,用戶所能看到的頁面是網站的前台頁面,不能看到的則為後台頁面。
大多數網站都有著後台頁面,而Django所創建的網站也不例外,Django為我們提供了一個功能強大的後台頁面,完全不需要我們自己去編寫。
下面教大家如何來創建後台頁面。
首先要先創建一個超級用戶。
命令:python manage.py createsuperuser
如上圖,當我們輸入命令之後,會提示我們讓我們一步步輸入用戶名,郵箱和密碼(讓我們輸入密碼的時候是不可見的)。
按照步驟下來後,就成功創建了一個超級用戶。
現在我們可以用這個超級用戶登入後台了。
啟動Django服務
打開瀏覽器,輸入url
http://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.模型的創建與移遷