創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!
這篇文章給大家分享的是有關(guān)Django在admin里如何配置的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。
Django自帶的后臺(tái)管理是Django明顯特色之一,可以讓我們快速便捷管理數(shù)據(jù)。后臺(tái)管理可以在各個(gè)app的admin.py文件中進(jìn)行控制。以下是總結(jié)出比較實(shí)用的配置。
基本設(shè)置
1、應(yīng)用注冊(cè)
若要把a(bǔ)pp應(yīng)用顯示在后臺(tái)管理中,需要在admin.py中注冊(cè)。這個(gè)注冊(cè)有兩種方式,我比較喜歡用裝飾器的方式。
先看看普通注冊(cè)方法。打開admin.py文件,如下代碼:
from django.contrib import admin from blog.models import Blog #Blog模型的管理器 class BlogAdmin(admin.ModelAdmin): list_display=('id', 'caption', 'author', 'publish_time') #在admin中注冊(cè)綁定 admin.site.register(Blog, BlogAdmin)
上面方法是將管理器和注冊(cè)語句分開。有時(shí)容易忘記寫注冊(cè)語句,或者模型很多,不容易對(duì)應(yīng)。
還有一種方式是用裝飾器,該方法是Django1.7的版本新增的功能:
from django.contrib import admin from blog.models import Blog #Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin): list_display=('id', 'caption', 'author', 'publish_time')
該方式比較方便明顯,推薦用這種方式。
2、admin界面漢化
默認(rèn)admin后臺(tái)管理界面是英文的,對(duì)英語盲來說用起來不方便??梢栽趕ettings.py中設(shè)置:
LANGUAGE_CODE = 'zh-CN'
TIME_ZONE = 'Asia/Shanghai'
1.8版本之后的language code設(shè)置不同:
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
記錄列表基本設(shè)置
比較實(shí)用的記錄列表設(shè)置有顯示字段、每頁記錄數(shù)和排序等。
from django.contrib import admin from blog.models import Blog #Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin): #listdisplay設(shè)置要顯示在列表中的字段(id字段是Django模型的默認(rèn)主鍵) list_display = ('id', 'caption', 'author', 'publish_time') #list_per_page設(shè)置每頁顯示多少條記錄,默認(rèn)是100條 list_per_page = 50 #ordering設(shè)置默認(rèn)排序字段,負(fù)號(hào)表示降序排序 ordering = ('-publish_time',) #list_editable 設(shè)置默認(rèn)可編輯字段 list_editable = ['machine_room_id', 'temperature'] #fk_fields 設(shè)置顯示外鍵字段 fk_fields = ('machine_room_id',)
篩選器
篩選器是Django后臺(tái)管理重要的功能之一,而且Django為我們提供了一些實(shí)用的篩選器。
主要常用篩選器有下面3個(gè):
from django.contrib import admin from blog.models import Blog #Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin): list_display = ('id', 'caption', 'author', 'publish_time') #篩選器 list_filter =('trouble', 'go_time', 'act_man__user_name', 'machine_room_id__machine_room_name') #過濾器 search_fields =('server', 'net', 'mark') #搜索字段 date_hierarchy = 'go_time' # 詳細(xì)時(shí)間分層篩選
顏色顯示
想對(duì)某些字段設(shè)置顏色,可用下面的設(shè)置:
from django.db import models from django.contrib import admin from django.utils.html import format_html class Person(models.Model): first_name = models.CharField(max_length=50) last_name = models.CharField(max_length=50) color_code = models.CharField(max_length=6) def colored_name(self): return format_html( '<span style="color: #{};">{} {}</span>', self.color_code, self.first_name, self.last_name, ) class PersonAdmin(admin.ModelAdmin): list_display = ('first_name', 'last_name', 'colored_name')
感謝各位的閱讀!關(guān)于Django在admin里如何配置就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
新聞名稱:Django在admin里如何配置-創(chuàng)新互聯(lián)
新聞來源:http://jinyejixie.com/article46/dcgieg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站策劃、營(yíng)銷型網(wǎng)站建設(shè)、企業(yè)建站、品牌網(wǎng)站建設(shè)、軟件開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容