,官方文档:http://xadmin.readthedocs.io/en/docs-chinese/views_api.html
中文文档:https://www.kancloud.cn/net_you/django_xadmin/371786
Django的xadmin是和admin相类似的管理后台,里面的很多方法都是一样的,只不过导入的类不一样,个人感觉xadmin的功能更加强大(主要是适合我现在写的东西)
下边就来一些使用的小示例:
import xadmin from xadmin import views from api import models from django.shortcuts import HttpResponse from xadmin.plugins.actions import BaseActionView class MyAction(BaseActionView): # action类 action_name = 'My_action' description = 'This is my action button' model_perm = 'change' def do_action(self, queryset): for obj in queryset: return HttpResponse(obj) class BaseSetting(object): # 全局配置 enable_thems = True use_bootswatch = True class GlobalSettings(object): # 全局配置 site_title = '财务对账系统' site_footer = 'seven_nighter@163.com' menu_style = 'accordion' class ChannelAdminn(object): model_icon = 'fa fa-bug' # 自定义左侧菜单图标 actions = [MyAction, ] # Action按钮 list_filter = ['id', 'memo', 'name'] # 过滤 search_fields = ['id', 'memo', 'name'] # 搜索 data_charts = { # 图表 'memo': { 'title': 'channel charset', 'x-field': 'memo', 'y-field': 'name' }, 'name': { 'title': 'channel charset', # 图表的名称 'x-field': 'memo', # x轴字段,通常是日期或者时间 'y-field': 'name', # y轴字段,显示数据 'order': 'name' # 根据name字段进行排序 } } show_bookmards = False list_bookmarks = [{ # 自定义搜索书签 'title': 'my_book_marks', 'query': {'name': True}, 'order': ('name'), 'cols': ('memo', 'name') }] list_export = ('xls', 'json',) # 数据导出格式,默认支持四种格式 refresh_times = (3, 5) # 3秒或者5秒刷新一次数据 show_detail_fields = ['memo', 'name'] # 显示字段的详情 show_all_rel_details = True # 设置为True,显示所有字段的详情 list_editable = ['memo', 'name'] # ajax修改字段属性值 class CheckIdfaAdmin(object): model_icon = 'fa fa-check' actions = [MyAction, ] class ProviderAdmin(object): model_icon = 'fa fa-scissors' actions = [MyAction, ] class OfferAdmin(object): model_icon = 'fa fa-book' actions = [MyAction, ] class ReprotAdmin(object): model_icon = 'fa fa-bookmark' actions = [MyAction, ] xadmin.site.register(views.BaseAdminView, BaseSetting) xadmin.site.register(views.CommAdminView, GlobalSettings) xadmin.site.register(models.Channel, ChannelAdminn) xadmin.site.register(models.CheckIdfa, CheckIdfaAdmin) xadmin.site.register(models.Provider, ProviderAdmin) xadmin.site.register(models.Offer, OfferAdmin) xadmin.site.register(models.Report, ReprotAdmin)
在xadmin安装的时候可能会有点坑,我相同的环境不同的笔记本一个两分钟搞定,一个一天没搞定。。最后还是用了自己不太喜欢的额方法去实现暂时的功能
一般情况下使用pip安装就没啥问题:pip install django-xadmin,他会安装所有的依赖,,但是有时候不行,,会报错,,详细参考下边博客里的解决方案,感觉没必要写了
需要在settings中配置apps
,一般配置前两个就够了,如果按照不上直接下载两个包,直接放在项目根目录crispy_forms,xadmin
小技巧:直接在adminx文件夹中写代码有部分没有自动补齐,,此时在admin中写,,然后直接粘贴过来就好了,,他俩方法都是通用的(好像是,多试试)
参考一:https://blog.csdn.net/jamin2018/article/details/79017636
参考二:https://blog.csdn.net/kingken212/article/details/46992535
参考三:https://blog.csdn.net/qq_41673534/article/details/79470503
省略·······