最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django自定義用戶表+自定義admin后臺(tái)中的字段實(shí)例

 更新時(shí)間:2019年11月18日 10:13:00   作者:小鳳九  
今天小編就為大家分享一篇Django自定義用戶表+自定義admin后臺(tái)中的字段實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來(lái)看看吧

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è)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

永寿县| 江川县| 武鸣县| 阿合奇县| 赫章县| 吴忠市| 建德市| 阳信县| 扬中市| 镇赉县| 峨边| 钟祥市| 黄冈市| 婺源县| 莱阳市| 莱西市| 上饶市| 宁武县| 华坪县| 黄山市| 故城县| 奉节县| 青浦区| 扶风县| 珠海市| 潞城市| 腾冲县| 盖州市| 潼关县| 永和县| 松滋市| 西吉县| 林口县| 施秉县| 于田县| 嘉荫县| 聊城市| 西昌市| 洛川县| 板桥市| 商河县|