drf—— xadmin的使用

xadmin的使用python

1 django內置了一個admin,有的人以爲醜,功能不夠強大,這羣人寫了一個叫xadmin的,用來替換admin
2 xadmin是django的一個app
3 如何使用
    -區分1.x和2.x
        -1.x :pip3 install xadmin
        -2.x :pip3 install git+git://github.com/sshwsfc/xadmin.git@django2
               pip3 install https://codeload.github.com/sshwsfc/xadmin/zip/django2
    -django2.x+xadmin 2.x 環境搭建
        -安裝
        -在app中註冊
            'xadmin',
            'crispy_forms',
            'reversion',
        -修改國際化
            # 修改使用中文界面
            LANGUAGE_CODE = 'zh-Hans'
            # 修改時區
            TIME_ZONE = 'Asia/Shanghai'
       
USE_TZ = False
        -數據遷移
            python3 manage.py makemigrations
            python3 manage.py migrate
        -配置路由信息
            import xadmin
            xadmin.autodiscover()
            # version模塊自動註冊須要版本控制的 Model
            from xadmin.plugins import xversion
            xversion.register_models()

            urlpatterns = [
                path('xadmin/', xadmin.site.urls)
            ]
        -建立超級用戶
            python manage.py createsuperuser
        -登陸,訪問地址,輸入用戶名密碼進入
            http://127.0.0.1:8000/xadmin/
4 美化
    -admin.py中寫一個類
    class BookClass():
        # 該表展現的字段
        list_display = ['id', 'name', 'price','publish']
        # 按照這些字段搜索
        search_fields = ['id','name']
        # 按哪些字段過濾
        list_filter = ['is_delete']

        # 能夠把數據導出成excel,json,xml格式
        list_export = ('xls', 'xml', 'json')
        # list_export設置爲None來禁用數據導出功能
        list_export_fields = ('id', 'name', 'price')
        data_charts = {
            "order_amount": {
                'title': '隨便寫',
                "x-field": "price",
                "y-field": ('publish',),
                "order": ('id',)
            },

        }
     -註冊
    xadmin.site.register(models.Book,BookClass)

 

amin.py代碼:git

import xadmin
from xadmin import views
from app01 import models
class BaseSetting():
    """xadmin的基本配置"""
    enable_themes = True  # 開啓主題切換功能
    use_bootswatch = True

class GlobalSettings():
    """xadmin的全局配置"""
    site_title = "路飛學城"  # 設置站點標題
    site_footer = "路飛學城有限公司"  # 設置站點的頁腳
    # menu_style = "accordion"  # 設置菜單摺疊




xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)


class BookClass():
    # 該表展現的字段
    list_display = ['id', 'name', 'price','publish']
    # 按照這些字段搜索
    search_fields = ['id','name']
    # 按哪些字段過濾
    list_filter = ['is_delete']

    # 能夠把數據導出成excel,json,xml格式
    list_export = ('xls', 'xml', 'json')
    # list_export設置爲None來禁用數據導出功能
    list_export_fields = ('id', 'name', 'price')
    data_charts = {
        "order_amount": {
            'title': '隨便寫',
            "x-field": "price",
            "y-field": ('publish',),
            "order": ('id',)
        },

    }

#這個就是以前在admin裏註冊的,如今變成xadmin了
xadmin.site.register(models.Book,BookClass)
xadmin.site.register(models.Publish)
xadmin.site.register(models.AuthorDetail)
xadmin.site.register(models.Author)
相關文章
相關標籤/搜索