婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > Django Admin 管理工具的實(shí)現(xiàn)

Django Admin 管理工具的實(shí)現(xiàn)

熱門標(biāo)簽:外呼不封號(hào)系統(tǒng) 荊州云電銷機(jī)器人供應(yīng)商 幫人做地圖標(biāo)注收費(fèi)算詐騙嗎 悟空智電銷機(jī)器人6 電信營業(yè)廳400電話申請 蘇州電銷機(jī)器人十大排行榜 溫州旅游地圖標(biāo)注 遼寧400電話辦理多少錢 江蘇房產(chǎn)電銷機(jī)器人廠家

Django 自動(dòng)管理工具是 django.contrib 的一部分。你可以在項(xiàng)目的 settings.py 中的 INSTALLED_APPS 看到它:

/HelloWorld/HelloWorld/settings.py 文件代碼:

INSTALLED_APPS = (    
	'django.contrib.admin',    
	'django.contrib.auth',    
	'django.contrib.contenttypes',    
	'django.contrib.sessions',    
	'django.contrib.messages',   
	 'django.contrib.staticfiles', 
 )

django.contrib是一套龐大的功能集,它是Django基本代碼的組成部分。

激活管理工具

通常我們在生成項(xiàng)目時(shí)會(huì)在 urls.py 中自動(dòng)設(shè)置好,我們只需去掉注釋即可。

配置項(xiàng)如下所示:

/HelloWorld/HelloWorld/urls.py 文件代碼:

\# urls.py 
from django.conf.urls import url 
from django.contrib import admin  
urlpatterns = [    
	url(r'^admin/', admin.site.urls),
 ]

當(dāng)這一切都配置好后,Django 管理工具就可以運(yùn)行了。

使用管理工具

啟動(dòng)開發(fā)服務(wù)器,然后在瀏覽器中訪問 http://127.0.0.1:8000/admin/,得到如下界面:

你可以通過命令 python manage.py createsuperuser 來創(chuàng)建超級用戶(超級用戶創(chuàng)建之前應(yīng)該先執(zhí)行數(shù)據(jù)庫遷移命令形成數(shù)據(jù)庫表),這里已經(jīng)前已過了,如下所示:

# python manage.py createsuperuser
Username (leave blank to use 'root'): admin
Email address: admin@runoob.com
Password:
Password (again):
Superuser created successfully.
[root@solar HelloWorld]#

之后輸入用戶名密碼登錄,界面如下:

為了讓 admin 界面管理某個(gè)數(shù)據(jù)模型,我們需要先注冊該數(shù)據(jù)模型到 admin。比如,我們之前在 TestModel 中已經(jīng)創(chuàng)建了模型 Test 。修改 TestModel/admin.py:

HelloWorld/TestModel/admin.py: 文件代碼:

from django.contrib import admin 
from TestModel.models import Test  # Register your models here. admin.site.register(Test)

刷新后即可看到 Testmodel 數(shù)據(jù)表:

復(fù)雜模型

管理頁面的功能強(qiáng)大,完全有能力處理更加復(fù)雜的數(shù)據(jù)模型。

先在 TestModel/models.py 中增加一個(gè)更復(fù)雜的數(shù)據(jù)模型:

HelloWorld/TestModel/models.py: 文件代碼:

from django.db import models  # Create your models here. 
class Test(models.Model):   
 	name = models.CharField(max_length=20)  
class Contact(models.Model):   
  	name = models.CharField(max_length=200)    
  	age = models.IntegerField(default=0)   
   	email = models.EmailField()    
   def __unicode__(self):        
   		return self.name  
class Tag(models.Model):    
   contact = models.ForeignKey(Contact, on_delete=models.CASCADE,)
   name    = models.CharField(max_length=50)    
   def __unicode__(self):        
   		return self.name

這里有兩個(gè)表。Tag 以 Contact 為外部鍵。一個(gè) Contact 可以對應(yīng)多個(gè) Tag。

我們還可以看到許多在之前沒有見過的屬性類型,比如 IntegerField 用于存儲(chǔ)整數(shù)。

在 TestModel/admin.py 注冊多個(gè)模型并顯示:

HelloWorld/TestModel/admin.py: 文件代碼:

from django.contrib import admin 
from TestModel.models import Test,Contact,Tag  # Register your models here. 
admin.site.register([Test, Contact, Tag])

刷新管理頁面,顯示結(jié)果如下:

在以上管理工具我們就能進(jìn)行復(fù)雜模型操作。

如果你之前還未創(chuàng)建表結(jié)構(gòu),可使用以下命令創(chuàng)建:

$ python manage.py migrate TestModel   # 創(chuàng)建表結(jié)構(gòu)

自定義表單

我們可以自定義管理頁面,來取代默認(rèn)的頁面。比如上面的 “add” 頁面。我們想只顯示 name 和 email 部分。修改 TestModel/admin.py:

HelloWorld/TestModel/admin.py: 文件代碼:

from django.contrib import admin 
from TestModel.models import Test,Contact,Tag  # Register your models here. 
class ContactAdmin(admin.ModelAdmin):    
	fields = ('name', 'email')  
	admin.site.register(Contact, ContactAdmin) 
	admin.site.register([Test, Tag])

以上代碼定義了一個(gè) ContactAdmin 類,用以說明管理頁面的顯示格式。

里面的 fields 屬性定義了要顯示的字段。

由于該類對應(yīng)的是 Contact 數(shù)據(jù)模型,我們在注冊的時(shí)候,需要將它們一起注冊。顯示效果如下:

我們還可以將輸入欄分塊,每個(gè)欄也可以定義自己的格式。修改 TestModel/admin.py為:

HelloWorld/TestModel/admin.py: 文件代碼:

from django.contrib import admin 
from TestModel.models import Test,Contact,Tag  # Register your models here. 
class ContactAdmin(admin.ModelAdmin):    
	fieldsets = (        
		['Main',{
		'fields':('name','email'),
		}],        
		['Advance',
		{ 'classes': ('collapse',), # CSS            
		'fields': ('age',),        
		}]
	)  
admin.site.register(Contact, ContactAdmin) 
admin.site.register([Test, Tag])

上面的欄目分為了 Main 和 Advance 兩部分。classes 說明它所在的部分的 CSS 格式。這里讓 Advance 部分隱藏:

Advance 部分旁邊有一個(gè) Show 按鈕,用于展開,展開后可點(diǎn)擊 Hide 將其隱藏,如下圖所示:

內(nèi)聯(lián)(Inline)顯示

上面的 Contact 是 Tag 的外部鍵,所以有外部參考的關(guān)系。

而在默認(rèn)的頁面顯示中,將兩者分離開來,無法體現(xiàn)出兩者的從屬關(guān)系。我們可以使用內(nèi)聯(lián)顯示,讓 Tag 附加在 Contact 的編輯頁面上顯示。

修改TestModel/admin.py:

HelloWorld/TestModel/admin.py: 文件代碼:

from django.contrib import admin 
from TestModel.models import Test,Contact,Tag  # Register your models here. 
class TagInline(admin.TabularInline):    
model = Tag  
class ContactAdmin(admin.ModelAdmin):    
	inlines = [TagInline]  # Inline    
	fieldsets = (        
		['Main',{            
		'fields':('name','email'),        
		}],        
		['Advance',{            
		'classes': ('collapse',),            
		'fields': ('age',),        
		}]     
	)  
admin.site.register(Contact, ContactAdmin) 
admin.site.register([Test])

顯示效果如下:

列表頁的顯示

在 Contact 輸入數(shù)條記錄后,Contact 的列表頁看起來如下:

我們也可以自定義該頁面的顯示,比如在列表中顯示更多的欄目,只需要在 ContactAdmin 中增加 list_display 屬性:

HelloWorld/TestModel/admin.py: 文件代碼:

from django.contrib import admin 
from TestModel.models import Test,Contact,Tag  # Register your models here. 
class TagInline(admin.TabularInline):    
	model = Tag  
class ContactAdmin(admin.ModelAdmin):    
	list_display = ('name','age', 'email') # list    
	inlines = [TagInline]  # Inline    
	fieldsets = (        
	['Main',{            
	'fields':('name','email'),        
	}],        
	['Advance',{            
	'classes': ('collapse',),           
	'fields': ('age',),        
	}]     
	)  
admin.site.register(Contact, ContactAdmin) 
admin.site.register([Test])

刷新頁面顯示效果如下:

搜索功能在管理大量記錄時(shí)非常有,我們可以使用 search_fields 為該列表頁增加搜索欄:

HelloWorld/TestModel/admin.py: 文件代碼:

from django.contrib import admin 
from TestModel.models import Test,Contact,Tag  # Register your models here. 
class TagInline(admin.TabularInline):    
		model = Tag  
class ContactAdmin(admin.ModelAdmin):    
		list_display = ('name','age', 'email') # list    
		search_fields = ('name',)    
		inlines = [TagInline]  # Inline    
		fieldsets = (        
		['Main',{            
		'fields':('name','email'),       
		 }],        
		 ['Advance',{            
		 'classes': ('collapse',),            
		 'fields': ('age',),        
		 }]     
		 )  
 admin.site.register(Contact, ContactAdmin) 
 admin.site.register([Test])

在本實(shí)例中我們搜索了 name 為 runoob 的記錄,顯示結(jié)果如下:

Django Admin 管理工具還有非常多實(shí)用的功能,感興趣的同學(xué)可以深入研究下。

到此這篇關(guān)于Django Admin 管理工具的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Django Admin 管理工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • django admin管理工具自定義時(shí)間區(qū)間篩選器DateRangeFilter介紹
  • Django admin管理工具TabularInline類用法詳解

標(biāo)簽:三沙 臺(tái)灣 景德鎮(zhèn) 喀什 宿遷 黃山 欽州 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Django Admin 管理工具的實(shí)現(xiàn)》,本文關(guān)鍵詞  Django,Admin,管理工具,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Django Admin 管理工具的實(shí)現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Django Admin 管理工具的實(shí)現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美大尺度电影在线| 懂色中文一区二区在线播放| 久久久不卡网国产精品二区| 欧美猛男超大videosgay| 99久久久久久| 99国产精品视频免费观看| 波多野结衣在线aⅴ中文字幕不卡| 日韩国产欧美在线视频| 日韩黄色免费电影| 日本三级韩国三级欧美三级| 亚洲成精国产精品女| 亚洲第一会所有码转帖| 午夜a成v人精品| 国产在线视频不卡二| 国产美女精品人人做人人爽| 成人黄色一级视频| 欧美日韩亚洲综合在线 | 51久久夜色精品国产麻豆| 国产福利一区二区三区视频| 精品在线一区二区三区| 成人99免费视频| 欧美天堂一区二区三区| 精品国产一区a| 一区二区三区蜜桃| 久草在线在线精品观看| 95精品视频在线| 91精品国产一区二区三区蜜臀 | 国产日韩欧美制服另类| 亚洲欧洲精品天堂一级| 韩日欧美一区二区三区| 91丨porny丨户外露出| 日韩一区二区三区视频在线| 最新欧美精品一区二区三区| 日本vs亚洲vs韩国一区三区| 色综合中文字幕| 国产精品女同一区二区三区| 久久福利视频一区二区| 91国偷自产一区二区三区成为亚洲经典| 欧美久久久一区| 亚洲免费大片在线观看| 国产麻豆精品一区二区| 欧美一区二区在线观看| 亚洲r级在线视频| 色婷婷av一区二区三区之一色屋| 精品国产在天天线2019| 美国毛片一区二区三区| 欧美裸体一区二区三区| 一区二区三区欧美| 欧美日韩国产一级片| 亚洲国产一二三| 在线观看精品一区| 视频一区视频二区中文字幕| 在线一区二区三区四区五区| 亚洲综合激情另类小说区| 欧美日韩免费观看一区二区三区| 亚洲欧美日韩国产另类专区| 91国在线观看| 久久国产精品露脸对白| 26uuu国产日韩综合| 成年人网站91| 五月婷婷欧美视频| 国产亚洲精久久久久久| 成人av在线资源| 国产精品午夜在线观看| 午夜精品一区二区三区三上悠亚| 91麻豆自制传媒国产之光| 日韩高清欧美激情| 国产婷婷一区二区| 欧美体内she精高潮| 精品一区二区免费| 亚洲国产视频直播| 久久你懂得1024| 欧美日韩免费高清一区色橹橹| 日本v片在线高清不卡在线观看| 国产精品区一区二区三区| 欧美日韩亚洲综合一区二区三区| 蜜臀久久久久久久| 亚洲在线观看免费视频| 欧美国产视频在线| 久久综合九色综合97婷婷女人| 欧美亚洲动漫另类| 91亚洲精品久久久蜜桃| 韩国精品免费视频| 麻豆freexxxx性91精品| 日韩一区精品字幕| 性久久久久久久| 亚洲综合男人的天堂| 亚洲婷婷国产精品电影人久久| 精品国产三级电影在线观看| 91精品国产欧美一区二区18| 欧美视频在线一区| 91精品在线麻豆| 91精品国产一区二区三区| 欧美一区二区三区不卡| 欧美一区二区女人| 久久久久久久电影| 中文字幕+乱码+中文字幕一区| 中文天堂在线一区| 亚洲女与黑人做爰| 亚洲高清免费在线| 久久成人综合网| 成人免费观看视频| 91国产视频在线观看| 56国语精品自产拍在线观看| 精品欧美乱码久久久久久1区2区| 欧美高清dvd| 国产精品美女一区二区三区| 一区二区三区精品在线观看| 天堂精品中文字幕在线| 精品一区二区三区蜜桃| 91玉足脚交白嫩脚丫在线播放| 欧美精品日韩综合在线| 国产婷婷精品av在线| 亚洲成人av中文| 国产 欧美在线| 日韩欧美一卡二卡| 国产精品久久久久精k8| 欧美国产精品一区二区三区| 亚洲黄色av一区| 国产九色sp调教91| 欧美日韩视频在线观看一区二区三区 | 欧美午夜不卡在线观看免费| 久久久亚洲国产美女国产盗摄| 欧美国产亚洲另类动漫| 久久99国产精品成人| 欧美私人免费视频| 亚洲bt欧美bt精品777| 99久久99久久免费精品蜜臀| 国产亚洲精品7777| 国产在线播放一区三区四| 精品人伦一区二区色婷婷| 午夜精品福利一区二区三区蜜桃| 97精品久久久久中文字幕| 国产偷国产偷精品高清尤物| 国产精品99久久久久久似苏梦涵| 91精品国产欧美一区二区成人| 日本在线播放一区二区三区| 在线观看视频91| 蜜臀va亚洲va欧美va天堂| 日韩欧美国产高清| 国产在线精品免费av| 欧美国产精品一区| 91福利区一区二区三区| 婷婷夜色潮精品综合在线| 精品人伦一区二区色婷婷| 成人综合激情网| 亚洲综合丁香婷婷六月香| 日韩欧美成人午夜| 粉嫩绯色av一区二区在线观看| 国产欧美一区二区在线观看| 色综合久久88色综合天天| 麻豆成人91精品二区三区| 欧美激情综合五月色丁香小说| av在线不卡免费看| 免费三级欧美电影| 亚洲私人黄色宅男| 欧美白人最猛性xxxxx69交| 不卡免费追剧大全电视剧网站| 五月婷婷久久综合| 国产精品视频线看| 精品国产免费一区二区三区香蕉| 色综合久久中文综合久久牛| 免费观看在线综合色| 一区二区三区不卡视频| 国产情人综合久久777777| 欧美日韩国产一级片| 99久久99久久免费精品蜜臀| 国产激情一区二区三区| 久久99精品久久久久久久久久久久| ...中文天堂在线一区| 欧美系列亚洲系列| 成人av综合在线| 成人黄色777网| 激情综合色播五月| 国产美女娇喘av呻吟久久| 婷婷开心激情综合| 亚洲成av人片在线| 午夜精品久久久久久久99樱桃 | 成人午夜电影久久影院| 激情综合色播激情啊| 国产揄拍国内精品对白| 久久丁香综合五月国产三级网站| 奇米四色…亚洲| 麻豆国产精品官网| 国产一区二区三区精品视频| 久久er99精品| 激情av综合网| 成人黄色av电影| 欧美日韩国产高清一区二区| 91精品国产综合久久久蜜臀粉嫩 | 成人午夜碰碰视频| 91污在线观看| 欧美一区二区三区白人| 久久亚洲精精品中文字幕早川悠里 | 久久精品视频一区二区三区| 国产清纯美女被跳蛋高潮一区二区久久w | 久久国产精品色婷婷| 成人丝袜高跟foot| 欧美中文字幕一区二区三区 | 国产黄人亚洲片|