在此之前我們完成了 Django 部落格首頁檢視的編寫,我們希望首頁展示釋出的部落格文章列表,但是它卻抱怨:暫時還沒有釋出的文章!如它所言,我們確實還沒有釋出任何文章,本節我們將使用 Django 自帶的 Admin 後臺來發布我們的部落格文章。
建立 Admin 後臺管理員賬戶
要想進入Django Admin 後臺,首先需要建立一個超級管理員賬戶。我們在 讓 Django 完成翻譯:遷移資料庫 中已經建立了一個後臺賬戶,但如果你沒有按照前面的步驟建立賬戶的話,可以執行 python manage.py createsuperuser
命令新建一個:
python manage.py createsuperuser
Username (leave blank to use `zmrenwu@163.com`): admin
Email address: admin@example.com
Warning: Password input may be echoed.
Password: ******
Warning: Password input may be echoed.
Password (again): ******
Superuser created successfully.複製程式碼
注意:在命令列輸入密碼時可能不會顯示輸入的字元,不要以為鍵盤壞了,照正常的方式輸入密碼即可。
在 Admin 後臺註冊模型
要在後臺註冊我們自己建立的幾個模型,這樣 Django Admin 才能知道它們的存在,註冊非常簡單,只需要在 blogadmin.py 中加入下面的程式碼:
blog/admin.py
from django.contrib import admin
from .models import Post, Category, Tag
admin.site.register(Post)
admin.site.register(Category)
admin.site.register(Tag)複製程式碼
啟用虛擬環境,執行開發伺服器,訪問 http://127.0.0.1:8000/admin/ ,就進入了到了Django Admin 後臺登入頁面,輸入剛才建立的管理員賬戶密碼就可以登入到後臺了。
可以看到我們剛才註冊的三個模型了,點選 Posts 後面的增加按鈕,將進入新增 Post 的頁面,也就是新增部落格文章。然後在相關的地方輸入一些測試用的內容,增加完後點選儲存,這樣文章就新增完畢了,你也可以多新增幾篇看看效果。注意每篇文章必須有一個分類,在新增文章時你可以選擇已有分類。如果資料庫中還沒有分類,在選擇分類時點選 Category 後面的 + 按鈕新增一個分類即可。
你可能想往文章內容中新增圖片,但目前來說還做不到。在支援 Markdown 語法部分中將介紹如何在文章中插入圖片的方法。
訪問 http://127.0.0.1:8000/ 首頁,你就可以看到你新增的文章列表了,下面是我所在環境的效果圖:
定製 Admin 後臺
在 admin post 列表頁面,我們只看到了文章的標題,但是我們希望它顯示更加詳細的資訊,這需要我們來定製 Admin 了,在 admin.py 新增如下程式碼:
blog/admin.py
from django.contrib import admin
from .models import Post, Category, Tag
class PostAdmin(admin.ModelAdmin):
list_display = [`title`, `created_time`, `modified_time`, `category`, `author`]
# 把新增的 PostAdmin 也註冊進來
admin.site.register(Post, PostAdmin)
admin.site.register(Category)
admin.site.register(Tag)複製程式碼
由於如何定製 Admin 後臺不是本教程的重點,這裡只是為了簡單地到達期望效果,因此不再對上述程式碼做過多解釋。
重新整理 Admin Post 列表頁面,可以看到顯示的效果好多了。
總結
本章節的程式碼位於:Step7: publish posts using django admin。
如果遇到問題,請通過下面的方式尋求幫助。
- 在 在 Django Admin 後臺釋出文章 – 追夢人物的部落格 的評論區留言。
- 將問題的詳細描述通過郵件傳送到 djangostudyteam@163.com,一般會在 24 小時內回覆。