??????個(gè)人簡(jiǎn)介:以山河作禮。
??????:Python領(lǐng)域新星創(chuàng)作者,CSDN實(shí)力新星認(rèn)證,阿里云社區(qū)專家博主
????:Web全棧開發(fā)專欄:《Web全棧開發(fā)》免費(fèi)專欄,歡迎閱讀!
????:文章末尾掃描二維碼可以加入粉絲交流群,不定期免費(fèi)送書。
Django Admin數(shù)據(jù)表
Django 的后臺(tái)管理系統(tǒng)是非常出色的,新建項(xiàng)目以后,Django 就為我們?cè)O(shè)置好了后臺(tái)管理系統(tǒng)的各種功能。
后臺(tái)管理
?
- Django Admin 后臺(tái)管理是 Django 自帶的一個(gè)功能強(qiáng)大的應(yīng)用程序,它可以幫助開發(fā)人員快速構(gòu)建一個(gè)完全可定制的管理界面。通過Admin 后臺(tái)管理,管理員可以方便地修改和管理網(wǎng)站中的數(shù)據(jù)庫內(nèi)容,而無需寫任何代碼。它提供了對(duì) Django 模型的 CRUD操作(增刪改查)功能,并且支持高級(jí)功能,如搜索、篩選、排序、分頁、導(dǎo)出、導(dǎo)入數(shù)據(jù)等,管理員只需要使用簡(jiǎn)單的圖形界面就可以完成所有操作。
- 開發(fā)人員可以通過在 Django 中創(chuàng)建數(shù)據(jù)庫模型類,自動(dòng)構(gòu)建一個(gè)功能強(qiáng)大的管理界面,而無需自己設(shè)計(jì)或編寫管理界面所需的 HTML、CSS和 JavaScript等前端代碼。管理員可以登錄后臺(tái)管理界面,在列表視圖中查看并操作所有可管理的模型,也可以使用自定義表單展示數(shù)據(jù)、篩選、搜索、排序、分頁等功能,更多高級(jí)功能則可以通過自定義Admin 類來實(shí)現(xiàn)。
??Django Admin 后臺(tái)管理的主要優(yōu)點(diǎn)包括:
-
快速創(chuàng)建:通過在數(shù)據(jù)庫模型類上增加
admin.site.register
注冊(cè),就可以獲得一個(gè)基本的管理頁面。 - 前后端分離:無需自定義管理頁面的前端代碼,只需專注于編寫后臺(tái)數(shù)據(jù)庫模型類。
- 自定義靈活:可以通過定義自定義的 Admin 類,對(duì) Admin 展示頁面進(jìn)行擴(kuò)展、定制和優(yōu)化。
- 安全性:可以對(duì)每個(gè)用戶進(jìn)行授權(quán)和權(quán)限管理,比如只允許管理員進(jìn)行某些類型的操作。
總體而言,Django Admin 后臺(tái)管理是 Django框架的重要組成部分之一,它提供了強(qiáng)大、靈活、安全的管理界面,使得管理員可以輕松地管理和操作數(shù)據(jù)庫內(nèi)容。
超級(jí)用戶
- 這樣強(qiáng)大的功能,使用前我們先創(chuàng)建一個(gè)超級(jí)用戶
$ python manage.py createsuperuser
- 依次輸入用戶名(12345678)、郵箱(12345678@qq.com)、密碼(00000000)
- 創(chuàng)建后在網(wǎng)址輸入賬號(hào)密碼:http://127.0.0.1:8000/admin/
??也可以確定某些參數(shù):
$ python manage.py createsuperuser --username=admin --email=admin@163.com
這里將用戶名設(shè)置為 admin,郵箱設(shè)置為 admin@163.com,也可以根據(jù)自己的需要去修改。如果在 createsuperuser后面不加任何內(nèi)容,Django會(huì)提示用戶輸入用戶名和郵箱。當(dāng)前命令執(zhí)行后,需要重復(fù)輸入兩次密碼,密碼可以根據(jù)自己的需要設(shè)置,但是密碼不能過于簡(jiǎn)單。
??如下圖所示,表示創(chuàng)建成功:
??注意:輸入密碼的時(shí)候,不會(huì)顯示。
??注意:超級(jí)用戶擁有所有權(quán)限,方便技術(shù)人員或非技術(shù)人員以可視化的形式對(duì)應(yīng)用數(shù)據(jù)記錄實(shí)現(xiàn)增刪改查的操作。
啟動(dòng) BookStore 項(xiàng)目,然后在瀏覽器地址欄輸入 127.0.0.1:8000/admin 訪問,輸入剛剛創(chuàng)建的超級(jí)用戶名以及密碼進(jìn)行登錄。
??如下所示登錄成功:
管理員賬號(hào)信息存儲(chǔ)在auth_user中
數(shù)據(jù)表注冊(cè)
-
在admin.py文件中聲明
當(dāng)我們使用 startapp 命令創(chuàng)建 index 應(yīng)用的時(shí)候會(huì)自動(dòng)創(chuàng)建 admin.py 文件,想要把自定義的 Model 注冊(cè)到管理后臺(tái),就需要在 admin.py 文件中進(jìn)行聲明,添加如下代碼:
from django.contrib import admin #Django自動(dòng)在admin.py文件中導(dǎo)入 from index.models import Book, Author,UserInfo #這個(gè)需要我們自己導(dǎo)入相應(yīng)的模型類(數(shù)據(jù)表) admin.site.register([Book,Author,UserInfo])
通過上述代碼,我們就完成了將 Model 注冊(cè)到后臺(tái)管理系統(tǒng)的操作,其實(shí)實(shí)現(xiàn)的過程也非常的簡(jiǎn)單,首先通過
django.contrib
的標(biāo)準(zhǔn)庫引入 admin 應(yīng)用,然后把 index 應(yīng)用下我們自定義的三張數(shù)據(jù)表引入,最后我們調(diào)用admin.site.register()
方法實(shí)現(xiàn)模型類的注冊(cè)。
??多個(gè)模型類一起注冊(cè)我們使用列表的形式來統(tǒng)一注冊(cè),如果是單一的模型類注冊(cè),我們可以使用以下方式即可:
admin.site.register(Book)
?? 至此我們就完成了數(shù)據(jù)表在 Admin后臺(tái)管理系統(tǒng)的可視化操作,我們?cè)俅问褂?code>ctrl+F5刷新后臺(tái)管理系統(tǒng)的顯示頁面,可以得到如下結(jié)果:
圖中每張數(shù)據(jù)表的名字都加上了s,這是Django自動(dòng)設(shè)定的,我們可以通過相應(yīng)的修改將其去掉,
?? 雖然看似頁面簡(jiǎn)單并且沒有太多的附加功能,但是對(duì)于簡(jiǎn)單的增刪改操作而言已經(jīng)足夠使用了。我們打開其中的 UserInfos 數(shù)據(jù)表來查看,如下所示:
?? 點(diǎn)擊增加 USERI INFO 按鈕會(huì)得到如下頁面,在此頁面我們可以進(jìn)行數(shù)據(jù)的添加、編輯、保存操作:
admin操作日志
Admin 應(yīng)用在數(shù)據(jù)庫遷移的過程中只創(chuàng)建了 django_admin_log 一張表 ,用于記錄通過管理后臺(tái)完成的對(duì) Model 的增刪改操作。
??如下所示,是數(shù)據(jù)庫遷移過程中生成的所有數(shù)據(jù)表:
??查看 django_admin_log 表結(jié)構(gòu), 如下所示:
??這些字段含義只做簡(jiǎn)單了解即可,如下所示:
-
id
是自增的主鍵 -
action_time:
datetime 類型,保存操作發(fā)生的日期和時(shí)間 -
object_id:
longtext 類型,保存修改對(duì)象的主鍵 -
object_repr:
varchar 類型,保存修改后的對(duì)象執(zhí)行 repr 函數(shù)的值,repr 是 Python 的內(nèi)置函數(shù),用于將對(duì)象轉(zhuǎn)換為字符串; -
action_flag:
無符號(hào) smallint 類型,用于記錄操作類型 ADDITION(值為1,表示添加)、CHANGE(值為 2,表示更新)、DELETION(值為 3,表示刪除); -
change_message
:longtext 類型,用于保存修改對(duì)象的詳細(xì)描述; -
content_type_id:
int 類型,外鍵關(guān)聯(lián) ContentType 對(duì)象; -
user_id:
int類型,外鍵關(guān)鍵User對(duì)象(默認(rèn)值),記錄執(zhí)行操作的用戶。
?感謝贊助?文章來源:http://www.zghlxwxcb.cn/news/detail-505977.html
618,清華社 IT BOOK 多得圖書活動(dòng)開始啦!活動(dòng)時(shí)間為2023年6月7日至6月18日,清華社為您精選多款高分好書,涵蓋了C++、Java、Python、前端、后端、數(shù)據(jù)庫、算法與機(jī)器學(xué)習(xí)等多個(gè)IT開發(fā)領(lǐng)域,適合不同層次的讀者。全場(chǎng)5折,掃碼領(lǐng)券更有優(yōu)惠哦!快來京東點(diǎn)擊鏈接IT BOOK多得https://pro.m.jd.com/mall/active/3Rho97HkMaGFycLzAWfFdvZdyvRn/index.html文章來源地址http://www.zghlxwxcb.cn/news/detail-505977.html
到了這里,關(guān)于Django基礎(chǔ)入門:后臺(tái)管理 超級(jí)用戶 數(shù)據(jù)表注冊(cè)操作③的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!