热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用xadmin2,自定义Action和message

xadmin:Python的第三方库,用作Django的插件,提供了更美观的admin页面。使用时基本不必修改Django项目的原本代码&

xadmin:Python的第三方库,用作Django的插件,提供了更美观的admin页面。
使用时基本不必修改Django项目的原本代码,主要是针对admin.py做出改动,比如定义Action的方法要改,显示message的方法也要改。

用法


  1. 安装:pip install xadmin2

  2. 在settings.py的INSTALLED_APPS[]中加入’xadmin’和’crispy_forms’。如下:

    ```pythonINSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',"django_mysql",'xadmin','crispy_forms',]```

  3. 更新数据库:

    python manage.py makemigrations
    python manage.py migrate

  4. 在主urls.py中加入URL:

    import xadminurlpatterns = [path('xadmin/', xadmin.site.urls),# path('admin/', admin.site.urls),
    ]

  5. 在每个app下创建adminx.py,格式如下:

    import xadmin
    from xadmin import views
    from xadmin.plugins.actions import BaseActionViewfrom .models import Project@xadmin.sites.register(views.BaseAdminView)
    class BaseSetting(): # 基本设置enable_themes = True # 开启主题功能use_bootswatch = True # 显示切换主题的下拉框@xadmin.sites.register(views.CommAdminView)
    class GlobalSetting(): # 全局设置site_title = "管理平台" # 设置页面标题site_footer = "管理平台" # 设置页脚menu_style = "accordion" # 左侧菜单折叠显示class MyAction(BaseActionView): # 定义一个动作action_name = "my_action" # 动作名description = "参数化构建" # 要显示的名字model_perm = "change" # 该动作所需权限def do_action(self, queryset): # 重载do_action()方法try:for i in queryset:...self.message_user(message="Done", level="success") # level的值必须小写except Exception as e:self.message_user(e, "error")@xadmin.sites.register(Project)
    class ProjectAdmin():list_display = ["project_name"]search_fields = ["project_name"]fieldsets = [(None, {"fields": ["project_name"]})]actions = [MyAction]

  6. 运行测试服务器python manage.py runserver 0.0.0.0:80,访问http://127.0.0.1:xadmin/即可。


推荐阅读
author-avatar
张鹏22_981
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有