這篇文章將為大家詳細講解有關(guān)django中admin指的是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
為汕頭等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及汕頭網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、汕頭網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
admin是django自帶的后臺管理系統(tǒng)。Django自帶的后臺管理是Django明顯特色之一,可以讓我們快速便捷管理數(shù)據(jù)。后臺管理可以在各個app的admin.py文件中進行控制。以下是總結(jié)出比較實用的配置。
admin界面漢化
默認admin后臺管理界面是英文的,對英語盲來說用起來不方便??梢栽趕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è)置
應(yīng)用注冊
若要把app應(yīng)用顯示在后臺管理中,需要在admin.py中注冊。這個注冊有兩種方式,我比較喜歡用裝飾器的方式。
先看看普通注冊方法。打開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中注冊綁定 admin.site.register(Blog, BlogAdmin)
上面方法是將管理器和注冊語句分開。有時容易忘記寫注冊語句,或者模型很多,不容易對應(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')
該方式比較方便明顯,推薦用這種方式。
記錄列表基本設(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模型的默認主鍵) list_display = ('id', 'caption', 'author', 'publish_time') #list_per_page設(shè)置每頁顯示多少條記錄,默認是100條 list_per_page = 50 #ordering設(shè)置默認排序字段,負號表示降序排序 ordering = ('-publish_time',) #list_editable 設(shè)置默認可編輯字段 list_editable = ['machine_room_id', 'temperature'] #fk_fields 設(shè)置顯示外鍵字段 fk_fields = ('machine_room_id',)
篩選器
篩選器是Django后臺管理重要的功能之一,而且Django為我們提供了一些實用的篩選器。
主要常用篩選器有下面3個:
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' # 詳細時間分層篩選
顏色顯示
想對某些字段設(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(
'{} {}',
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)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。