欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

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

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

熱門標(biā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í)會在 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 用于存儲整數(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)簽:三沙 臺灣 景德鎮(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)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    日韩在线视频免费看| 成人羞羞国产免费图片| 欧美美女黄视频| 亚洲视频精选在线| 国产成人h网站| 国产又粗又长又硬| 国产亚洲一本大道中文在线| 美洲天堂一区二卡三卡四卡视频| 亚洲日本久久久| 欧美猛男gaygay网站| 色哟哟一区二区三区| 国产亚洲自拍一区| 国产一区二区三区不卡在线观看 | av电影在线播放| 欧美日韩中文精品| 亚洲午夜精品17c| 久久无码专区国产精品s| 欧美在线不卡视频| 亚洲国产精品久久人人爱| 国产人妖在线观看| 欧美精品欧美精品系列| 香蕉久久一区二区不卡无毒影院| 亚洲乱妇老熟女爽到高潮的片| 欧美区视频在线观看| 午夜在线成人av| 制服丝袜第一页在线观看| 欧美日本不卡视频| 五月激情六月综合| 精品少妇人妻一区二区黑料社区 | 日本天堂在线播放| 欧美一区二区在线观看| 免费不卡在线观看| 日本污视频网站| 国产精品久久三| 91麻豆6部合集magnet| 欧美精品18+| 麻豆成人免费电影| 日日操免费视频| 亚洲人成伊人成综合网小说| 中文写幕一区二区三区免费观成熟| 欧美日本免费一区二区三区| 日本成人在线电影网| 美国美女黄色片| 日韩理论电影院| 日韩精品――色哟哟| 日韩一区二区三区四区五区六区| 久久99在线观看| 91麻豆免费视频网站| 亚洲综合色自拍一区| 中文字幕精品三区| jizzjizzjizz欧美| 欧美日韩在线综合| 久久精品国产一区二区| 日本一级片免费| 夜夜爽夜夜爽精品视频| 黄色正能量网站| 亚洲国产成人自拍| 久草免费资源站| 久久精品亚洲麻豆av一区二区 | 91黄色免费观看| 日韩不卡一区二区| 成人涩涩小片视频日本| 亚洲国产人成综合网站| 久久久久无码精品国产sm果冻 | 国产精品人妖ts系列视频| 2025中文字幕| 国产午夜亚洲精品羞羞网站| 一级黄色免费毛片| 26uuu成人网一区二区三区| 99精品视频在线观看免费| 日韩视频在线一区二区| 成人久久18免费网站麻豆| 欧美一区二区播放| 波多野结衣一区二区三区| 日韩三级在线观看| 99国产精品久久| 欧美zozozo| 乳色吐息在线观看| 成人激情文学综合网| 欧美色综合天天久久综合精品| 久久不见久久见中文字幕免费| 色88888久久久久久影院按摩| 美国av一区二区| 欧美亚洲禁片免费| 国产真实乱子伦精品视频| 欧美乱熟臀69xxxxxx| 国产成人精品免费视频网站| 日韩免费看的电影| 国产成人av免费观看| 中文久久乱码一区二区| 成人无码www在线看免费| 日本理论中文字幕| 丝袜亚洲另类欧美| 在线精品视频免费播放| 国产福利一区二区三区视频在线| 欧美一级生活片| 丰满人妻一区二区三区53视频| 久久久久88色偷偷免费| 久久久国产精品无码| 曰韩精品一区二区| 九九这里只有精品视频| 久久精品国产一区二区三| 欧美福利视频导航| 91理论电影在线观看| 国产精品国产三级国产普通话99 | 无码av免费精品一区二区三区| 国产精品区一区二区三| 日韩女同一区二区三区| 午夜成人在线视频| 欧美日韩亚洲综合一区二区三区 | 色婷婷久久久久swag精品| 国产精品伊人色| 一区二区三区在线视频观看58 | 国内外成人在线| 4hu四虎永久在线影院成人| 99精品国产99久久久久久白柏| 久久久亚洲精华液精华液精华液| 国产精品探花一区二区在线观看| 亚洲成av人综合在线观看| 在线观看日产精品| 91色porny| 亚洲精品国久久99热| 日本精品视频一区二区三区| 成人精品免费看| 国产精品久久久久久久久免费相片 | 亚洲精品伦理在线| 色婷婷综合视频在线观看| 成人动漫在线一区| 三级网站免费看| 中文字幕一区二区三区四区不卡 | 欧美黑人猛猛猛| 国产91精品入口| 欧美国产视频在线| 潘金莲一级黄色片| 成人午夜av电影| 中文字幕在线不卡视频| 欧美在线视频第一页| eeuss鲁片一区二区三区| 日韩一区日韩二区| 色美美综合视频| 三大队在线观看| 亚洲国产成人午夜在线一区| 自拍偷拍你懂的| 国产成人在线看| 国产精品免费视频观看| 69xx绿帽三人行| 97超碰欧美中文字幕| 一区二区三区视频在线看| 欧美日韩一卡二卡| 亚洲中文字幕一区| 久久国产福利国产秒拍| 国产日本欧洲亚洲| 色综合中文综合网| 欧美成人video| 亚洲一级片在线播放| 懂色中文一区二区在线播放| 日韩一区在线看| 欧美美女黄视频| 最近中文字幕免费| 国产成人自拍网| 亚洲激情五月婷婷| 欧美一区二区三区四区五区| 人妻av无码一区二区三区| 国产成人免费av在线| 一区二区三区资源| 日韩视频一区二区三区| 久久精品国产亚洲AV成人婷婷| 成人app软件下载大全免费| 亚洲一区二区在线播放相泽| 日韩一二在线观看| 欧美视频一区二区在线| 久久aaaa片一区二区| 秋霞成人午夜伦在线观看| 国产欧美精品一区二区三区四区 | 国内偷窥港台综合视频在线播放| 国产精品美女视频| 欧美蜜桃一区二区三区| 快灬快灬一下爽蜜桃在线观看| 99视频在线精品| 天堂在线一区二区| 国产欧美日韩在线视频| 欧美综合视频在线观看| 亚洲第一成人网站| 波波电影院一区二区三区| 日韩av电影免费观看高清完整版 | 亚洲熟妇无码av| 大胆亚洲人体视频| 午夜电影网一区| 国产精品激情偷乱一区二区∴| 欧美一区二区精品| 最新一区二区三区| 51调教丨国产调教视频| caoporn国产精品| 免费观看久久久4p| 亚洲欧美日韩国产综合| 26uuu另类欧美亚洲曰本| 欧美性受极品xxxx喷水| 国产精品1区2区3区4区| 亚洲国产精品自拍视频| 成人av网站免费|