1 在該表對應的models類裡面新增一個Meta類
class Meta:
verbose_name_plural = '使用者表' # 指定該表在admin後臺的名字為: 使用者表
# verbose_name = '使用者表' # 末尾還是會自動加s
2 null=True,blank=True的區別
# null=True: 是告訴資料庫該欄位可以為空,admin後臺預設還是不允許為空
# blank=True: admin 後臺該欄位可以為空
phone = models.CharField(max_length = 11, blank = True, null = True, unique = True, verbose_name = "手機號")
3 settings.py設定,使django的後臺管理頁面變成中文、設定時區
# Internationalization
# https://docs.djangoproject.com/en/3.2/topics/i18n/
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
1 登入檔
在admin.py中只需要 Mode 中的某個類註冊,即可在 Admin 中實現增刪改查的功能。
from django.contrib import admin
from app import models
# Register your models here.
admin.site.register(models.UserInfo)
admin.site.register(models.Blog)
註冊完後點選表名即可修改表內容。
2 list_display 欄位展示
# 方式一
class UserInfoAdmin(admin.ModelAdmin):
list_display = ('username', 'email',)
admin.site.register(models.UserInfo, UserInfoAdmin)
# 方式二
@admin.register(models.UserInfo)
class UserInfoAdmin(admin.ModelAdmin):
list_display = ('username', 'email',)
3 list_display_links 連結至列表頁面,可以點選跳轉。
使用 list_display_links 可以控制 list_display 中的欄位是否應該連結到物件的「更改」頁面。預設情況下,更改列表頁面會只將第一列連結到每個專案的更改頁面。它的使用格式和 list_display 相同,是列表或者元組型別。
同時它也可以指定一個或多個欄位。只要這些欄位在中 list_display 中存在 ,那麼 Django 就不會在意連結了多少個欄位。
注意:要使用 list_display_links 這個屬性 ,必須先要定義 list_display。
4 list_filter 過濾器
5 list_editable 設定欄位名稱
使用 list_editable 時,你應該注意以下規則:
6 search_fileds 新增搜尋方塊
提示:需要注意的是,每個關鍵字都必須是 search_fields 選項中的至少一個。
7 ordering
# 資料庫模型在: https://www.cnblogs.com/huaxiayuyi/p/16754258.html
class UserInfoAdmin(admin.ModelAdmin):
# 排序
# ordering = ('nid',)
# 倒序
ordering = ('-nid',)
# 顯示的欄位
list_display = ('nid', 'email', 'create_time', 'phone', 'blog')
# 點選可跳轉
list_display_links = ( 'create_time',)
# 過濾器
list_filter = ('email', 'phone', 'blog__site_name')
# 可編輯
list_editable = ('email', )
# 搜尋方塊
search_fields = ['email', 'phone', 'blog__site_name']
# 時間分層
date_hierarchy = 'create_time'
# 分頁
list_per_page = 3
# 為空時,顯示預設值
empty_value_display = '-empty-'
# 是否顯示選擇個數
actions_selection_counter = True
# Action選項都是在頁面上方顯示
actions_on_top = False
# Action選項都是在頁面下方顯示
actions_on_bottom = True
admin.site.register(models.UserInfo, UserInfoAdmin)
admin.site.register(models.Blog)
11