您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Django在admin里如何配置的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。
Django自帶的后臺管理是Django明顯特色之一,可以讓我們快速便捷管理數據。后臺管理可以在各個app的admin.py文件中進行控制。以下是總結出比較實用的配置。
基本設置
1、應用注冊
若要把app應用顯示在后臺管理中,需要在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)
上面方法是將管理器和注冊語句分開。有時容易忘記寫注冊語句,或者模型很多,不容易對應。
還有一種方式是用裝飾器,該方法是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界面漢化
默認admin后臺管理界面是英文的,對英語盲來說用起來不方便。可以在settings.py中設置:
LANGUAGE_CODE = 'zh-CN'
TIME_ZONE = 'Asia/Shanghai'
1.8版本之后的language code設置不同:
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
記錄列表基本設置
比較實用的記錄列表設置有顯示字段、每頁記錄數和排序等。
from django.contrib import admin from blog.models import Blog #Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin): #listdisplay設置要顯示在列表中的字段(id字段是Django模型的默認主鍵) list_display = ('id', 'caption', 'author', 'publish_time') #list_per_page設置每頁顯示多少條記錄,默認是100條 list_per_page = 50 #ordering設置默認排序字段,負號表示降序排序 ordering = ('-publish_time',) #list_editable 設置默認可編輯字段 list_editable = ['machine_room_id', 'temperature'] #fk_fields 設置顯示外鍵字段 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' # 詳細時間分層篩選
顏色顯示
想對某些字段設置顏色,可用下面的設置:
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')
感謝各位的閱讀!關于Django在admin里如何配置就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。