Django自定義用戶表+自定義admin后臺(tái)中的字段實(shí)例
1.自定義用戶表 注意事項(xiàng)
必須在settings中配置AUTH_USER_MODEL這個(gè)字段
# 覆蓋默認(rèn)的用戶模型,使用自定義用戶模型 # 語(yǔ) 法:'app的名稱.自定義用戶模型的名稱' AUTH_USER_MODEL = 'admi.UserModel'
2.在models文件中編寫UserModel類
from django.db import models
from django.contrib.auth.models import AbstractUser
# Django框架將createsuperuser創(chuàng)建的用戶以及在amdin后臺(tái)添加的用戶,默認(rèn)都保存在了auth_user這個(gè)表中,但是這個(gè)表的字段是固定的,如果想給用戶擴(kuò)展一些字段(年齡、性別、住址等),就需要重寫User表了,不能再使用auth_user這個(gè)表了。
class UserModel(AbstractUser):
# AbstractUser這個(gè)類,也就是Django框架默認(rèn)使用的一個(gè)用于管理用戶的User類,這個(gè)類生成一個(gè)auth_user表。所以,要擴(kuò)展用戶屬性,可以繼承AbstractUser,在子類UserModel中實(shí)現(xiàn)擴(kuò)展。
nick_name=models.CharField(max_length=25,verbose_name='昵稱')
user_address=models.CharField(max_length=35,verbose_name='住址')
class Meta:
# 配置自定義用戶表名是user_table
db_table='user_table'
verbose_name='用戶'
verbose_name_plural=verbose_name
添加完成后,在當(dāng)前app的admin文件中注冊(cè)
# 只要使用admin后臺(tái)系統(tǒng),所有的Model必須在這里進(jìn)行注冊(cè) admin.site.register(UserModel)
3.測(cè)試
編寫完上述步驟后,makemigrations、migrate同步數(shù)據(jù)庫(kù)

然后打開用戶的數(shù)據(jù)庫(kù)管理工具,可以看到user_table這個(gè)表已經(jīng)生成了,而且表中生成了我們創(chuàng)建的兩個(gè)字段
nick_name和user_address

4.進(jìn)入admin后臺(tái)測(cè)試
先使用createsuper創(chuàng)建一個(gè)superuser用戶

通過admin登錄到后臺(tái)

后臺(tái)自動(dòng)生成了一個(gè)字段代表用戶名,我們把UserModel中Meat下verbose_name=‘用戶' 修改成用戶名,然后刷新admin頁(yè)面,admin中的字段也會(huì)隨之改變。
(這樣也不需要更新數(shù)據(jù)庫(kù),是不是很方便呢?)

5.后臺(tái)字段擴(kuò)展
a.更改用戶名顯示的內(nèi)容(只顯示admin是不是很單調(diào)?)
在UserModel中使用__str__魔法方法

具體效果

b.讓后臺(tái)信息顯示多個(gè)字段
# 修改app下的admin.py文件
from django.contrib import admin
from .models import *
class UserAdmin(admin.ModelAdmin):
# 設(shè)置顯示數(shù)據(jù)庫(kù)中哪些字段
list_display = ['username','password','nick_name','user_address']
admin.site.register(UserModel,UserAdmin)
效果

以上這篇Django自定義用戶表+自定義admin后臺(tái)中的字段實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Django 設(shè)置admin后臺(tái)表和App(應(yīng)用)為中文名的操作方法
- 解決Django部署設(shè)置Debug=False時(shí)xadmin后臺(tái)管理系統(tǒng)樣式丟失
- Django Admin后臺(tái)添加數(shù)據(jù)庫(kù)視圖過程解析
- Django-xadmin后臺(tái)導(dǎo)入json數(shù)據(jù)及后臺(tái)顯示信息圖標(biāo)和主題更改方式
- Django+boostrap 美化admin后臺(tái)的操作
- Django 實(shí)現(xiàn)admin后臺(tái)顯示圖片縮略圖的例子
- django admin后臺(tái)添加導(dǎo)出excel功能示例代碼
- Django Admin后臺(tái)模型列表頁(yè)面如何添加自定義操作按鈕
相關(guān)文章
for循環(huán)在Python中的工作原理詳細(xì)
for...in 是Python程序員使用最多的語(yǔ)句,for 循環(huán)用于迭代容器對(duì)象中的元素,這些對(duì)象可以是列表、元組、字典、集合、文件,甚至可以是自定義類或者函數(shù),下面小編將舉例說(shuō)明,需要的朋友可以參考下2021-10-10
Linux下Python安裝完成后使用pip命令的詳細(xì)教程
這篇文章主要介紹了Linux下Python安裝完成后使用pip命令的詳細(xì)教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11
django生產(chǎn)環(huán)境搭建(uWSGI+django+nginx+python+MySQL)
本文主要介紹了django生產(chǎn)環(huán)境搭建,主要包括uWSGI+django+nginx+python+MySQL,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
python中圖形庫(kù)turtle庫(kù)詳解(適用于計(jì)算機(jī)二級(jí))
Turtle庫(kù)是Python語(yǔ)言中的一個(gè)圖形庫(kù),可以用來(lái)繪制各種形狀,如線條、矩形、圓形等等,下面這篇文章主要給大家介紹了關(guān)于python中圖形庫(kù)turtle庫(kù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08
Tensorflow中的降維函數(shù)tf.reduce_*使用總結(jié)
這篇文章主要介紹了Tensorflow中的降維函數(shù)tf.reduce_*使用總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并采集信息的方法
這篇文章主要介紹了python實(shí)現(xiàn)自動(dòng)登錄人人網(wǎng)并采集信息的方法,涉及Python模擬登陸及正則匹配的相關(guān)技巧,需要的朋友可以參考下2015-06-06

