xadmin入门使用

,官方文档: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

省略·······

 

posted @ 2018-08-03 10:29 前方、有光 阅读(...) 评论(...) 编辑 收藏