xadmin入門使用

,官方文檔:http://xadmin.readthedocs.io/en/docs-chinese/views_api.htmlhtml

中文文檔:https://www.kancloud.cn/net_you/django_xadmin/371786ajax

Django的xadmin是和admin相相似的管理後臺,裏面的不少方法都是同樣的,只不過導入的類不同,我的感受xadmin的功能更增強大(主要是適合我如今寫的東西)django

下邊就來一些使用的小示例:json

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安裝的時候可能會有點坑,我相同的環境不一樣的筆記本一個兩分鐘搞定,一個一天沒搞定。。最後仍是用了本身不太喜歡的額方法去實現暫時的功能api

通常狀況下使用pip安裝就沒啥問題:pip install django-xadmin,他會安裝全部的依賴,,可是有時候不行,,會報錯,,詳細參考下邊博客裏的解決方案,感受不必寫了app

須要在settings中配置appside

   ,通常配置前兩個就夠了,若是按照不上直接下載兩個包,直接放在項目根目錄crispy_forms,xadminspa

小技巧:直接在adminx文件夾中寫代碼有部分沒有自動補齊,,此時在admin中寫,,而後直接粘貼過來就行了,,他倆方法都是通用的(好像是,多試試).net

參考一:https://blog.csdn.net/jamin2018/article/details/79017636code

參考二:https://blog.csdn.net/kingken212/article/details/46992535

參考三:https://blog.csdn.net/qq_41673534/article/details/79470503

省略·······

相關文章
相關標籤/搜索