热门标签 | 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/即可。


推荐阅读
  • Django Token 认证详解与 HTTP 401、403 状态码的区别
    本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
  • Django xAdmin 使用指南(第一部分)
    本文介绍如何在Django项目中集成和使用xAdmin,这是一个增强版的管理界面,提供了比Django默认admin更多的功能。文中详细描述了集成步骤及配置方法。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • 日志记录对于软件开发至关重要,特别是在调试和维护阶段。通过日志,开发者能够追踪错误源头并了解系统的运行状态。本文将探讨如何在Django框架中有效配置和使用日志记录功能。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 主要用了2个类来实现的,话不多说,直接看运行结果,然后在奉上源代码1.Index.javaimportjava.awt.Color;im ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 华为USG基于源地址的多出口策略路由配置
    网络拓扑如下:组网情况:企业用户主要有技术部(VLAN10)和行政部(VLAN20),通过汇聚交换机连接到USG。企业分别通过两个不同运营商(ISP1和ISP2)连接到 ... [详细]
  • Python处理Word文档的高效技巧
    本文详细介绍了如何使用Python处理Word文档,涵盖从基础操作到高级功能的各种技巧。我们将探讨如何生成文档、定义样式、提取表格数据以及处理超链接和图片等内容。 ... [详细]
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社区 版权所有