【Django】使用xadmin构建后台管理系统

这篇具有很好参考价值的文章主要介绍了【Django】使用xadmin构建后台管理系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 配置xadmin

  1. 在github搜索xadmin并下载源码

    由于xadmin报错实在是太多了,我前前后后改了三十多个报错,查阅了数百篇博客以及文献。为了以后不去重复处理报错,我fork了原来的xadmin项目,新建了自己的xadmin版本:MyXadmin,因此我建议你使用该仓库的xadmin版本。

  2. 在setting的INSTALLED_APPS中添加crispy_forms、xadmin、reversion、crispy_bootstrap3和django.conf,并配置语言和时区。

    这里之所以要添加crispy_bootstrap3和django.conf配置,是为了避免之后的报错。

    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'apps.users.apps.UsersConfig',
        'apps.courses.apps.CoursesConfig',
        'apps.operations.apps.OperationsConfig',
        'apps.organizations.apps.OrganizationsConfig',
        'crispy_forms',
        'xadmin.apps.XAdminConfig',
        'reversion',
        'crispy_bootstrap3',
        'django.conf',
    ]
    CRISPY_TEMPLATE_PACK = 'bootstrap3'
    
    LANGUAGE_CODE = 'zh-hans'  # 配置显示为中文
    
    TIME_ZONE = 'Asia/Shanghai'  # 配置时区
    USE_TZ = False
    
  3. 安装xadmin的依赖

    pip install -i https://pypi.doubanio.com/simple/ -r requirements.txt
    
  4. 生成数据表

    makemigrations
    
    migrate
    
  5. 配置urls.py

    使用xadmin替代admin构建后台管理系统。

    from django.contrib import admin
    from xadmin.plugins import xversion
    from django.urls import path
    import xadmin
    xversion.register_models()
    xadmin.autodiscover()
    urlpatterns = [
        # path('admin/', admin.site.urls),
        path('xadmin/', xadmin.site.urls),
    ]
    

2 注入数据表

  1. 在app目录下新建adminx.py文件,并编辑如下:

    import xadmin
    from apps.courses.models import City
    
    
    class CourseAdmin(object):
        """
        为每个需要注入的数据表创建Admin函数
        """
        list_display = ['name', 'desc', 'detail', 'degree', 'learn_times', 'students']  # 定义列表页显示的字段
        search_fields = ['name', 'desc', 'detail', 'degree', 'students']  # 定义搜索的字段
        list_filter = ['name', 'teacher__name', 'desc', 'detail', 'degree', 'learn_times', 'students']  # 定义过滤器字段('外键__外键属性':这种格式可以直接定位到外键属性)
        list_editable = ["degree", "desc"]  # 定义允许在列表中直接编辑的字段
    
    xadmin.site.register(Course, CourseAdmin)  # 注册数据表
    
  2. 修改在xadmin网页中显示的该app名称(编辑app目录下的apps.py)文章来源地址https://www.toymoban.com/news/detail-494496.html

    from django.apps import AppConfig
    
    
    class CoursesConfig(AppConfig):
        name = 'apps.courses'
        verbose_name = "课程管理"  # 别称
    

3 配置后台管理系统样式

class GlobalSettings(object):
    site_title = "CW后台管理系统"  # 定义后台系统主题名称
    site_footer = "CW网站页脚"  # 定义后台系统网站页脚
    menu_style = "accordion"  # 左侧导航栏收起

class BaseSettings(object):
    enable_themes = True  # 允许更换主题皮肤配置
    use_bootswatch = True
    
xadmin.site.register(xadmin.views.CommAdminView, GlobalSettings)
xadmin.site.register(xadmin.views.BaseAdminView, BaseSettings)

到了这里,关于【Django】使用xadmin构建后台管理系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue 3.3 + Vite 4.3 + TypeScript 5+ Element-Plus:从零到一构建企业级后台管理系统(前后端开源)

    vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,技术栈为 Vue3 + Vite4 + TypeScript + Element Plus + Pinia + Vue Router 等当前主流框架。 相较于其他管理前端框架,vue3-element-admin 的优势在于 一有一无 (有配套后端、无复杂封装): 配套完整 Java 后

    2024年02月12日
    浏览(49)
  • Vue3.3 + Vite4.3 + TypeScript5+ Element-Plus:从零到一构建企业级后台管理系统(前后端开源)

    vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,技术栈为 Vue3 + Vite4 + TypeScript + Element Plus + Pinia + Vue Router 等当前主流框架。 相较于其他管理前端框架,vue3-element-admin 的优势在于 一有一无 (有配套后端、无复杂封装): 配套完整 Java 后

    2024年02月09日
    浏览(48)
  • 前端使用elementui开发后台管理系统的常用功能(持续更新)

    前言:本次的文章完全是自己开发中遇到的一些问题,经过不断的修改终于完成的一些功能,当个快捷的查看手册吧~ 功能描述:数据使用的若依的字典,或者是自定义数据,可以点击每个选项进行选择,取消选择,也可以在已选择进行清除和单个删除 使用: @selection-change

    2024年02月09日
    浏览(33)
  • Naive UI Admin后台管理系统的组件BasicTable使用指南

    Naive Ui Admin 是一个基于 Vue3.0、 Vite、 Naive UI、 TypeScript 的中后台解决方案,它使用了最新的前端技术栈,并提炼了典型的业务模型,页面,包括二次封装组件、动态菜单、权限校验、粒子化权限控制等功能,它可以帮助你快速搭建企业级中后台项目, 相信不管是从新技术使用

    2024年02月09日
    浏览(79)
  • 【Django】Django4.1.2使用xadmin避坑指南

    换成Django4版本使用xadmin真是需要巨大勇气。 win10 python3.9.0 django4.1.2 解决办法: 如果正常安装了xadmin库的话,six库也会安装,把 项目根目录/venv/Lib/site-packages/six.py 复制到 项目根目录/venv/Lib/site-packages/django/utils 下即可。 分析: Django已经弃用 ugettext(), ugettext_lazy(), ugettext_noo

    2023年04月08日
    浏览(30)
  • 基于SpringBoot 2+Layui实现的管理后台系统源码+数据库+安装使用说明

    一个基于SpringBoot 2 的管理后台系统,包含了用户管理,组织机构管理,角色管理,功能点管理,菜单管理,权限分配,数据权限分配,代码生成等功能 相比其他开源的后台系统,SpringBoot-Plus 具有一定的复杂度 系统基于Spring Boot2.1技术,前端采用了Layui2.4。数据库以MySQL/Oracle

    2024年02月04日
    浏览(41)
  • 后台管理系统权限管理详解

    简述权限管理: 你可以在后台通过一个 tree 控件或者其它展现形式给每一个页面动态配置权限,之后将这份路由表存储到后端。当用户登录后得到roles,前端根据roles去向后端请求可访问的路由表,从而动态生成可访问页面,之后就是 router.addRoutes 动态挂载到router 上,你会发

    2024年02月05日
    浏览(29)
  • Vue3+Vite+Pinia+Naive后台管理系统搭建之四:Naive UI 组件库的安装和使用

    前言 如果对 vue3 的语法不熟悉的,可以移步 Vue3.0 基础入门Vue3.0 基础入门快速入门。 UI 组件请参考官网:Naive Ui 官网 为什么选择 naive ui 不继续用 element ui,因为尤大大推荐,可以尝试下,而且 naive ui 更贴近 vue3 的语法,当然易上手还是element ui 好一点。 github 开源库:Vue

    2024年02月07日
    浏览(46)
  • 若依框架后台管理系统-忘记后台管理密码-忘记密码重置方法

    1. 无盐老版 1.1、生成密码密文 1.2、替换数据库中密码 2. 加盐新版 (今天 2022-03-16) 2.1、生成密码密文 2.2、替换数据库中密码 补充说明 参考资料 管理后台忘记密码两步解决: 找到工具类: com.ruoyi.common.utils.SecurityUtils 添加 main 方法:打印出密码密文 大家好,我是笨笨,笨

    2024年02月15日
    浏览(29)
  • 微信小程序考勤签到管理系统+后台管理系统

    《微信小程序考勤签到管理系统+后台管理系统》该项目含有源码、论文等资料、配套开发软件、软件安装教程、项目发布教程等 本系统包含微信小程序做的考勤前台和Java做的后台管理系统: 微信小程序——考勤前台涉及技术: WXML 和 WXSS、JavaScript Java——考勤后台涉及技术

    2024年02月09日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包