【先试试django自带的admin】
创建superuser,但报错了。。发现user表里的gender长度设置小了(female是6个字符)于是update一下这个字段,参考https://blog.csdn.net/qingche456/article/details/58106629
登录成功!
admin.py中进行注册
from django.contrib import admin
# Register your models here.
from .models import UserProfile # .表示当前目录
# 创建管理器
class UserProfileAdmin(admin.ModelAdmin):
pass
# 把数据表和管理器联系起来 注册
admin.site.register(UserProfile, UserProfileAdmin)
【xadmin2+django2】
教程中的方案已经无法满足需求 需要下载适配django2的xadmin版本(xadmin作者简直良心呐!!):
https://github.com/sshwsfc/xadmin/tree/django2
Run!!成功!!
【自定义显示内容】
在models中重载str方法!注意 不是unicode方法了
# 重载unicode方法 指定前端表格内显示啥
def __str__(self):
return '{0}({1})'.format(self.code, self.email)
【自定义显示的字段】
adminx.py中加入list_display
class EmailVerifyRecordAdmin(object):
list_display = ['code', 'email', 'send_type', 'send_time']
xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)
效果:
【添加搜索功能】
同上位置添加
search_fields = ['code', 'email', 'send_type']
效果:
【添加过滤器】
list_filter = ['code', 'email', 'send_type', 'send_time']
【如果有外键,比如章节的外键是课程,那么过滤器中应该写名外键的哪个字段】
list_filter = ['course__name', 'name', 'add_time']
【xadmin默认显示诸如“修改XXX Object(12)”】
这是因为类没有定义__str__方法
def __str__(self):
return self.name
----------------------------------------------------------------我是分割线---------------------------------------------------------------------------
接下来是一些xadmin的全局配置,我们选择在users的app里进行全局配置:adminx.py
【修改网站logo,修改版权信息,设置左边舒展收缩】
# 修改GlobalSetting
class GlobalSetting(object):
# 左上角的Logo
site_title = "木尧学堂(管理端)"
# 底部的版权信息
site_footer = "2016-2019 木尧工作室"
# 左边是否收缩
menu_style = "accordion"
xadmin.site.register(views.CommAdminView, GlobalSetting)
【修改主题是否可选】
from xadmin import views
# 是否使用主题选择功能
class BaseSetting(object):
enable_themes = True
use_bootswatch = True
xadmin.site.register(views.BaseAdminView, BaseSetting)
【把左边红框里改成中文】
每个app文件夹下有个apps,py 用来配置app的显示名称,添加verbose_name,并在init中加上引用