日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Django admin組件的使用

瀏覽:29日期:2024-09-20 10:21:18

admin

admin 是 Django 自帶的后臺(tái)管理組件,你可以在 admin 中執(zhí)行增刪改查等操作。

它以可視化的方式讓你來(lái)操縱模型表,十分的便捷。

基本使用數(shù)據(jù)準(zhǔn)備

如下,在 app01 中有一個(gè)這樣的模型表:

from django.db import models# Create your models here.class User(models.Model): user_id = models.AutoField(primary_key=True, verbose_name='用戶編號(hào)') user_name = models.CharField(max_length=32, verbose_name='用戶名') user_gender = models.BooleanField( choices=([0, 'male'], [1, 'female']), verbose_name='用戶性別') user_introduction = models.TextField( max_length=1024, null=True, blank=True, verbose_name='用戶簡(jiǎn)介') def __str__(self): return self.user_name

創(chuàng)建用戶

當(dāng)運(yùn)行了數(shù)據(jù)庫(kù)遷徙命令后,需要?jiǎng)?chuàng)建一個(gè)可登錄 admin 進(jìn)行管理的超級(jí)賬戶。

python manage.py createsuperuser

它會(huì)提示你輸入用戶名,以及密碼,密碼不能少于八位。

可以選填郵箱。

注冊(cè)admin

管理員用戶創(chuàng)建完成后,在 app01 應(yīng)用下進(jìn)行注冊(cè)。

from django.contrib import adminfrom .models import *admin.site.register(User)

接下來(lái)打開 admin ,輸入賬戶名與密碼后,就可以看到這張表。

Django admin組件的使用

接下來(lái)就可以對(duì)該表進(jìn)行增刪改查了。

Django admin組件的使用

深度配置

models參數(shù)

在創(chuàng)建模型表時(shí),可以對(duì)字段添加一些與 admin 相關(guān)的參數(shù)。

參數(shù) 描述 verbose_name Admin中顯示的字段名稱 blank Admin中進(jìn)行添加或編輯時(shí),該字段是否可以為空 editable Admin中是否可編輯該字段 help_text Admin中的幫助信息 choices Admin中選擇框顯示的內(nèi)容

在這里的 blank 與 verbose_name 以及 choices 都比較常用。

除了在模型表的字段上進(jìn)行配置外,也可以在該表下定制元信息。這其中有關(guān)于該表在 Admin 中的信息顯示,如下所示:

class User(models.Model):字段 = 類型(條件)字段 = 類型(條件) class Meta: verbose_name = 'Admin中顯示的表名'

admin配置

如果要對(duì)一個(gè)注冊(cè)的表進(jìn)行深度配置,可在 admin.py 中對(duì)它進(jìn)行。

常用的配置方式有兩種,如下所示:

from django.contrib import admin# 裝飾器注冊(cè)@admin.register(User)class UserConfig(admin.ModelAdmin):配置項(xiàng).... # 使用siteclass UserConfig(admin.ModelAdmin):配置項(xiàng)....admin.site.register(CustomAdmin, UserConfig) # 應(yīng)用配置項(xiàng)

下面是 admin 深度配置的一些常用選項(xiàng)。

from django.contrib import adminfrom .models import *# Register your models here.class UserConfig(admin.ModelAdmin): # 自定義字段,作用顯示 def edit(self): return '編輯'# 以下是自定義admin的使用 # 添加數(shù)據(jù)模板頁(yè) # add_form_template = None # 修改數(shù)據(jù)的模板頁(yè) # change_form_template = None # 修改多條數(shù)據(jù)的模板頁(yè) # change_list_template = None # 刪除確認(rèn)信息模板頁(yè) # delete_confirmation_template = None # 刪除關(guān)聯(lián)數(shù)據(jù)的確認(rèn)頁(yè) # delete_selected_confirmation_template = None # 修改歷史的模板頁(yè) # object_history_template = None # 彈出框模板頁(yè) # popup_response_template = None # 不支持多對(duì)多字段,展示表中的字段。 list_display = ['user_id', 'user_name','user_gender',edit] # 點(diǎn)擊字段可進(jìn)入change頁(yè)面 list_display_links = [edit] # 過(guò)濾篩選,支持各種關(guān)系 list_filter = ['user_gender'] # 支持在頁(yè)面修改的字段,與list_display_links有沖突 list_editable = ['user_name'] # 模糊搜索,可以按照編號(hào)、名字搜索.或關(guān)系 search_fields = ['user_id','user_name']# 用于和action定制項(xiàng)做批處理 def patch_init(self,request,queryset): ''' queryset:選中的字典 ''' # 選中的用戶全改為男性... queryset.update(user_gender=False) # 添加描述 patch_init.short_description = '批量修改性別' actions = [patch_init] admin.site.register(User)

以下是配置完成后的樣式,自行對(duì)應(yīng)配置項(xiàng)進(jìn)行配置后查看即可。

Django admin組件的使用

中文顯示

如果想要在 admin 中進(jìn)行中文顯示,則可以在全局的 settings.py 中配置語(yǔ)言。

# LANGUAGE_CODE = ’en-us’LANGUAGE_CODE = ’zh-Hans’ # 中文顯示

執(zhí)行流程

在啟動(dòng) django 項(xiàng)目時(shí),第一步會(huì)去 settings 中導(dǎo)入各種模塊。

INSTALLED_APPS = [ ’django.contrib.admin’, ’django.contrib.auth’, ’django.contrib.contenttypes’, ’django.contrib.sessions’, ’django.contrib.messages’, ’django.contrib.staticfiles’, ’app01.apps.App01Config’,]

查看 admin 源碼 from django.contrib import admin ,它下面有這樣的一個(gè)函數(shù),該函數(shù)的作用就是將所有 app 下的 admin 都會(huì)做一次導(dǎo)入。

def autodiscover(): autodiscover_modules(’admin’, register_to=site)

我們知道,在模塊導(dǎo)入時(shí),會(huì)運(yùn)行該模塊中的代碼,那么在 admin.site 進(jìn)行注冊(cè)時(shí),實(shí)際上是應(yīng)用單例模式進(jìn)行注冊(cè)。

使用 admin.site.register() 實(shí)際上都是在使用單例對(duì)象下的方法,并不會(huì)重復(fù)生成多個(gè)對(duì)象。

class AdminSite(object): def __init__(self): self._registry = {} def register(self, model, admin_class = None): # 設(shè)置配置類 if not admin_class: admin_class = ModelAdmin self._registry[model] = admin_class(model, self)site = AdminSite() # 最后一行

admin 中單例對(duì)象的應(yīng)用也非常簡(jiǎn)單,它是以模塊的方式應(yīng)用單例對(duì)象,因?yàn)槲覀冎滥K只會(huì)執(zhí)行一次。

如下所示:

# f1.py 模塊class Test(object):def __init__(self,name):self.name = namet1 = Test('測(cè)試')

當(dāng)其他文件進(jìn)行多次導(dǎo)入時(shí),只會(huì)導(dǎo)入一次,此時(shí)使用的 t1 永遠(yuǎn)都是單例對(duì)象,不會(huì)重復(fù)實(shí)例化:

import f1f1.t1()

以上就是Django admin組件的使用的詳細(xì)內(nèi)容,更多關(guān)于Django admin組件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Django
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产中文在线播放| 高清av一区| 久久不见久久见中文字幕免费 | 国产精品午夜一区二区三区| 日韩专区精品| 福利一区二区| 国产精品久久久久久久久久妞妞| 亚洲我射av| 亚洲在线网站| 女人天堂亚洲aⅴ在线观看| **爰片久久毛片| 中文一区一区三区免费在线观 | 日韩欧美一区二区三区免费观看| 国产精品www.| 亚欧洲精品视频在线观看| 亚洲调教视频在线观看| 中文字幕在线看片| 国产精品久久久久蜜臀| 久久天堂影院| 国产伊人久久| 国产精选在线| 国产美女高潮在线| 国产精品99在线观看| 免费精品一区| 国产精品成人3p一区二区三区| 四虎精品一区二区免费| 视频精品一区二区| 免费美女久久99| 综合视频一区| 香蕉久久久久久| 欧美粗暴jizz性欧美20| 午夜精品影院| 婷婷综合社区| 99国产精品自拍| 亚洲作爱视频| 综合国产在线| 91大神在线观看线路一区| 国产日韩欧美一区二区三区在线观看 | 狠狠久久伊人| 天堂√中文最新版在线| 久久久久网站| 日韩一区二区在线免费| 99热国内精品| 在线日韩av| 久久亚洲二区| 亚洲欧美网站在线观看| 久久精品99国产精品日本| 欧美韩一区二区| 中文在线а√在线8| 99久久久国产精品美女| 尤物网精品视频| 亚洲精品激情| 国产精品66| 播放一区二区| 日韩在线观看一区二区| 亚洲人成网77777色在线播放| 欧美偷窥清纯综合图区| 日韩不卡一区| 中文字幕在线免费观看视频| 亚洲激情五月| 欧美一级网站| 欧美精品不卡| 久久av网站| 久久精品国产99久久| 一二三区精品| 久久精品亚洲| 性欧美xxxx免费岛国不卡电影| 香蕉久久国产| 国产精品一区二区精品 | 91麻豆精品| 久久精品女人| 午夜久久99| 久久国产精品色av免费看| 久久久久久一区二区| 亚洲欧美激情诱惑| 亚洲精品一级二级三级| 久久久久久久欧美精品| 蜜桃传媒麻豆第一区在线观看| 欧美三区不卡| av一区在线| 亚洲无线观看| 久久精品亚洲| 国产尤物精品| 免费成人在线观看| 美女视频网站久久| 伊人久久婷婷| 国产一区二区三区黄网站| 亚洲一区二区三区免费在线观看| 国产精品99精品一区二区三区∴| 欧洲亚洲一区二区三区| 91成人精品在线| 999国产精品永久免费视频app| 视频一区中文字幕精品| 精品久久久久中文字幕小说| 热久久免费视频| 日韩电影免费网站| 欧美日韩91| 亚洲成人不卡| 国产探花一区| 在线精品视频在线观看高清| 免费观看在线综合| 91亚洲人成网污www| 亚洲精品中文字幕99999| 裤袜国产欧美精品一区| 欧美亚洲tv| 亚洲欧美日韩专区| 高潮一区二区| 欧美视频二区| 亚洲不卡av不卡一区二区| 国产精品网在线观看| 爽爽淫人综合网网站| 美女一区网站| 国产精品xxx| 爽好多水快深点欧美视频| 久久久久久黄| 视频精品一区二区| 国产综合亚洲精品一区二| 国产中文字幕一区二区三区| 日韩av午夜在线观看| 国产美女精品| 激情久久久久久久| 欧洲一级精品| 91精品韩国| 欧美福利在线| 亚洲深爱激情| 快she精品国产999| 一区二区电影| 日韩国产在线观看| 日韩国产欧美一区二区三区| 日韩国产精品久久久久久亚洲| 日韩国产一二三区| 国产日韩欧美一区二区三区在线观看 | 日本欧美久久久久免费播放网| 日韩一区二区三区在线看| 日韩精品一区二区三区中文在线| 日韩国产精品久久久久久亚洲| 国产日韩免费| 久久中文在线| 成人欧美一区二区三区的电影| 视频福利一区| 六月婷婷一区| 日本电影久久久| 国产精品片aa在线观看| 精品中国亚洲| 久久精品国产大片免费观看| 国产视频一区在线观看一区免费| 99综合视频| 日本一区福利在线| 欧美a在线观看| 神马日本精品| 在线视频亚洲欧美中文| 欧美亚洲福利| 成人在线视频免费| 蜜桃视频欧美| 日本aⅴ亚洲精品中文乱码 | 亚洲精品综合| 国产精品久久久久久久久免费高清 | 国产资源在线观看入口av| 欧美一区二区三区激情视频| 欧美精品一卡| 日韩黄色在线观看| 91欧美国产| 国产麻豆综合| 国产另类在线| 久久久久午夜电影| 亚洲tv在线| 老牛影视精品| 免费成人av在线播放| 麻豆精品久久| 国产二区精品| 国产精品久久久久久久免费软件| 久久久一本精品| 亚洲三级国产| 国精品产品一区| 黄色av日韩| 国产日韩欧美一区在线| 日韩成人亚洲| 婷婷亚洲成人| 日韩欧美一区二区三区在线观看 | 老色鬼久久亚洲一区二区| 国产剧情在线观看一区| 桃色一区二区| 亚洲综合激情在线| 欧美www视频在线观看| 亚洲一区二区三区四区五区午夜| 91精品国产自产精品男人的天堂| 天堂av在线| 91亚洲无吗| 91精品99| 久久影院资源站| 在线精品一区| 成人久久久久| 国产精品久久久亚洲一区| 国产精品日韩| 国产精品毛片久久| 日韩中出av| 亚洲福利专区| 麻豆精品视频在线观看视频| 午夜宅男久久久| 天堂网av成人|