热门标签 | 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 xAdmin 使用指南(第一部分)
    本文介绍如何在Django项目中集成和使用xAdmin,这是一个增强版的管理界面,提供了比Django默认admin更多的功能。文中详细描述了集成步骤及配置方法。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • Django Token 认证详解与 HTTP 401、403 状态码的区别
    本文详细介绍了如何在 Django 中配置和使用 Token 认证,并解释了 HTTP 401 和 HTTP 403 状态码的区别。通过具体的代码示例,帮助开发者理解认证机制及权限控制。 ... [详细]
  • 本文将介绍如何利用Python爬虫技术抓取国内主流在线学习平台的数据,并以51CTO学院为例,进行详细的技术解析和实践操作。 ... [详细]
  • 日志记录对于软件开发至关重要,特别是在调试和维护阶段。通过日志,开发者能够追踪错误源头并了解系统的运行状态。本文将探讨如何在Django框架中有效配置和使用日志记录功能。 ... [详细]
  • 本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • 在学习网页爬虫时,使用Selenium进行自动化操作。初次安装selenium模块后,第二天运行代码时遇到了ImportError:无法从'selenium'导入名称'webdriver'。本文将详细解释该问题的原因及解决方案。 ... [详细]
  • 本文介绍如何使用 Python 的 xlrd 库读取 Excel 文件,并将其数据处理后存储到数据库中。通过实际案例,详细讲解了文件路径、合并单元格处理等常见问题。 ... [详细]
  • 华为USG基于源地址的多出口策略路由配置
    网络拓扑如下:组网情况:企业用户主要有技术部(VLAN10)和行政部(VLAN20),通过汇聚交换机连接到USG。企业分别通过两个不同运营商(ISP1和ISP2)连接到 ... [详细]
  • Python Django大学生心理健康管理系统开发(含源码、文档)
    本项目包含完整的源代码、设计文档、数据库结构以及详细的安装指南,旨在为计算机专业的学生提供一个全面的心理健康管理系统解决方案。 ... [详细]
  • 本文探讨了在Django项目中,如何在对象详情页面添加前后导航链接,以提升用户体验。文章详细描述了遇到的问题及解决方案。 ... [详细]
  • 本文详细介绍如何结合Django框架和DRF(Django REST Framework)来设计一套有效的全局异常处理系统。这套系统不仅能够妥善处理DRF引发的异常,还能兼容Django自带的admin界面异常处理逻辑。 ... [详细]
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社区 版权所有