一、注册路由
# 为 admin.py ==> settings.py 所在目录的 urls.py 配置urls
from django.urls import path, include # Django2.0
# from django.conf.urls import url, include # Django1.0
urlpatterns = [
path('admin/', admin.site.urls), # Django2.0以上
# url(r'^admin/', admin.site.urls), # Django1.0以上
]
二、形成一个admin后台的初始化(基本)操作:
from django.contrib import admin
# Register your models here.
from .models import UserProfile
class UserProfileAdmin(admin.ModelAdmin):
pass
# 若需要,可设置标题
admin.site.site_header = 'admin后台系统' # 设置页面显示标题 - 浏览器页面顶
admin.site.site_title = 'admin后台系统' # 设置页面头部标题 - 浏览器标签处
admin.site.register(UserProfile, UserProfileAdmin) # 注册,即可生成后台
三、字段 - 说明:
class UserProfileAdmin(admin.ModelAdmin):
# 列表,元祖都可以,最后要有个逗号
model = UserProfile # 模型类
list_display = ('id', 'username', 'first_name', 'email', ) # 表的展示字段列
list_filter = ("first_name", ) # 过滤器筛选: 右侧面板,点击即可直接筛选出该记录
list_display_links = ("username", ) # 点击可进入该条记录的编辑页面
search_fields = ("username", 'first_name', ) # 搜索框字段
list_per_page = 5 # 每页展示记录条数
ordering = ('-updatetime', ) # 按照更新时间负排序
# 单对多
raw_id_fields = ('idc', ) # 假设在assets资产admin中,一个机房有多台主机
# 单对多 - 例子 - 如在模型类Assets中,有该外键
idc = models.ForeignKey(“Idc”, verbose_name="所在机房", on_delete=models.SET_NULL, null=True, blank=True)
# 单对多 - 注意
# Django admin 默认的单对多关系选择器是下拉菜单,很多(ForeignKey)时就太长了,不好用
# 推荐使用:raw_id_fields 选项
# 多对多
filter_horizontal = ('groups', 'user_permissions', 'roles', )
# 多对多 - 注意事项
# 注意:list_display中的字段不能用在多对多字段上
# Django admin 默认的多对多关系(ManyToMany)选择器是复选框,不好用
# 所以推荐使用:filter_horizontal 或 filter_vertical 选项
# 以下使用较少
# 这里,其中字段不能是list_display_links中指定的
list_editable = ('mobile', 'email', ) # 可编辑字段,在展示表数据页面就是可编辑状态
date_hierarchy = "update_time" # 按日期月份筛选
待续.....................
四、神器
借鉴连接:
深入理解:https://blog.csdn.net/weixin_42134789/article/details/83686589