Django的Xadmin使用

Django Xadmin

通常在实际的开发当中, 除了前后端分离的项目, 还有一些前后端不分离的项目, 这样我们在访问不分离的页面的时候, 就可以通过Django自带的admin管理模块来轻松实现后台管理, 但是由于你的审美要求较高咋办呢? 自带admin后台实在是太难看了, 也太难用了, 于是乎Xadmin就基于Django的admin开发了一个新的后台管理, 不仅融合了admin的快速组成员管理, 还基于Bootstrap美化了界面, 还有更多图标显示等你来发崛

Django Xadmin中文文档

Djanog Xadmin Github传送门

小知识点:如果是前后端不分离的项目, 也是可以借用其他的admin客户端, 比如Vue有一个 vue-element-admin 也十分好看

安装:切换到虚拟环境下

pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2

注册app

INSTALLED_APPS = [
    # ...
    # xamin主体模块
    'xadmin',
    # 渲染表格模块
    'crispy_forms',
    # 为模型通过版本控制,可以回滚数据
    'reversion',
]

Xadmin数据库迁移

xadmin:需要自己的数据库模型类,完成数据库迁移, 迁移之后就会多出相对应的xadmin表

>: python manage.py migrate

设置Xadmin路由

设置主路由替换掉admin:主urls.py

# xadmin的依赖
import xadmin
xadmin.autodiscover()
# xversion模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()

urlpatterns = [
    # 用Xadmin后台替换原生的admin后台
    path(r'xadmin/', xadmin.site.urls),
]

创建超级用户

创建超级用户:外层luffyapi路径终端

>: python manage.py createsuperuser
账号密码设置:admin | admin

完成全局美化配置

完成xadmin全局配置:新建home/adminx.py

# home/adminx.py
# xadmin全局配置
import xadmin
from xadmin import views

class GlobalSettings(object):
    """xadmin的全局配置"""
    site_title = "路飞学城"  # 设置站点标题
    site_footer = "路飞学城有限公司"  # 设置站点的页脚
    menu_style = "accordion"  # 设置菜单折叠

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

注册相应的字段以及Xadmin

在adminx.py中注册model:home/adminx.px

from . import models
# 注册
xadmin.site.register(models.Banner)

修改app:home的名字:xadmin页面上的显示效果

# home/__init__.py
default_app_config = "home.apps.HomeConfig"

# home/apps.py
from django.apps import AppConfig
class HomeConfig(AppConfig):
    name = 'home'
    verbose_name = '我的首页'

xadmin的使用

1.需要在app中创建adminx.py文件

import xadmin
from repository import models
from xadmin import views

class UserProfileAdmin(object):
    # 显示的字段名称
    list_display = ['id','name' ,'email','phone','mobile']

    # 搜索时可输入的字段内容
    search_fields = ['id', 'name', 'email', 'phone']

    # 点击id可进入详细界面进行编辑(默认的)
    list_display_links = ('id',)  

    # 可编辑的列名
    list_editable = ['name' ,'email','phone','mobile']
    # list_filter = ['name' ,'email','phone','mobile']

    # 每页显示多少条
    list_per_page = 20 

    #根据id排序
    ordering = ('id',) 
     
    #设置只读字段 
    readonly_fields = ('user_email',) 

    #显示本条数据的所有信息
    show_detail_fields = ['asset_name'] 

xadmin.site.register(models.UserProfile,UserProfileAdmin)

2.数据导出
如果想要导出Excel数据,需要安装xlwt

默认情况下,xadmin会提供ExcelCSV,XMLjson四种格式的数据导出,可以通过设置OptionClasslist_export属性来指定使用哪些导出格式(四种格式分别用xlscsvxmljson表示)或是将list_export设置为None来禁用数据导出功能

list_export = ('xls', 'xml', 'json')
list_export_fields = ('id', 'name', 'title')

3.设置全局的配置

# 全局修改,固定写法
class GlobalSettings(object):
    # 修改title
    site_title = 'xxx后台管理界面'
    # 修改footer
    site_footer = 'xxx的公司'
    # 收起菜单
    menu_style = 'accordion'

    # 设置 models图标
    # https://v3.bootcss.com/components/
    # http://www.yeahzan.com/fa/facss.html
    global_search_models = [models.Disk, models.Server]
    global_models_icon = {
        # Server: "glyphicon glyphicon-tree-conifer", Pool: "fa fa-cloud"
        models.Server: "fa fa-linux", models.Disk: "fa fa-cloud"
    }

# 将title和footer信息进行注册
xadmin.site.register(views.CommAdminView,GlobalSettings)

4.图表显示

data_charts = {
        "host_service_type_counts": {
            'title': '部门机器使用情况',
            'x-field': "business_unit",
            'y-field': ("business_unit"),
            'option': {
                "series": {"bars": {"align": "center", "barWidth": 0.8, "show": True}},
                "xaxis": {"aggregate": "count", "mode": "categories"}
            },
        },
        "host_idc_counts": {
            'title': '机房统计',
            'x-field': "idc",
            'y-field': ("idc",),
            'option': {
                "series": {"bars": {"align": "center", "barWidth": 0.3, "show": True}},
                "xaxis": {"aggregate": "count", "mode": "categories"}
            }
        }
    }

5.注册模型与对应的管理类

xadmin.site.register(models.Disk, DiskAdmin)
xadmin.site.register(models.Server, ServerAdmin)
xadmin.site.register(models.IDC, IDCAdmin)
xadmin.site.register(models.UserProfile, UserProfileAdmin)
xadmin.site.register(models.UserGroup, UserGroupAdmin)

原文地址:https://www.cnblogs.com/Dr-wei/p/11841038.html

时间: 2024-10-21 04:17:26

Django的Xadmin使用的相关文章

Django安装Xadmin步骤

在Django中安装Xadmin替换原始的admin,下面介绍两种方法安装 第一种方法:pip安装 第一步: 直接pip安装xadmin pip install xadmin pip会同时安装上面三个依赖包,需要将'xadmin'和'crispy_forms'加入到settings.py的INSTALL_APPS中. 第二步: 配置URL 用Xadmin替换原装的admin 在urls.py中修改: 第三步: 需要将xadmin自带的一些表生成一下,执行以便 makemigration -- m

Django扩展xadmin后台管理

python:3.7.2django:2.1.2 githup:https://github.com/sshwsfc/xadmin 安装xadmin django版本2.0及以上一不能使用pip install xadmin进行安装,根据作者的安装说明使用一下命令直接从githup安装 pip install git+git://github.com/sshwsfc/xadmin.git@django2 现有项目引入xadmin settings.py设置引入xadmin应用 INSTALLED

django后台xadmin如下配置(小结)

django-admin文档:https://xadmin.readthedocs.io/en/latest/index.html目录: 1.xadmin基本配置 2.配置后台显示的模型类 3.后台注册模型类 4.修改后台应用.字段显示的名字 5.修改应用在后台显示的名字 6.修改admin后台显示的图标,如应用的图标和表的图标. 7.自定义user用户管理 8.后台显示数据库中不存在的字段 9.save_models 和 delete_model 安装最新的xadmin pip install

Django配置Xadmin

安装Xadmin 安装 Xadmin 的时候,需要注意 Django 的版本,Xadmin 在 Github 上的仓库 master 分支是支持 Django 1.9 版本的,假如是 Django 2.0 版本的,则需要从 Django2 分支安装 # 从 PyPI 安装 支持 django 1.9 pip install xadmin # 支持 django 1.4 $ pip install django-xadmin # 从源码安装 支持django 2.0 $ pip install g

Django之Xadmin

一.预备知识 单例对象 方式一:__new__方法 方式二:模块导入,只要在引入的文件中实例了这个对象,不管引道哪里,这个对象都指向同一个内存空间 1 class My_singleton(object): 2 def foo(self): 3 print("ok") 4 5 my_singleton = My_singleton() from xxx import my_singleton my_singleton.foo() 原文地址:https://www.cnblogs.com

【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: 笔者的工作系统环境:Mac 10.13.4+Python3.6.x+Django2.0.x+Xadmin2.0 因此本系列教程均是以此组合为基础展开讲解.其他系统版本也基本适用,有小部分不兼容之处请自行测试. 一.Django及xadmin安装 可以使用pip命令进行安装,或者直接下载安装包用py

云计算运维平台ubuntu环境配置

python环境安装 首先在项目目录下面生成python虚拟环境,使用pip工具下载安装virtualenv,命令如下: pip install virtualenv cd 项目目录 virtualenv 环境文件夹名称 将需要导入的python模块文件放在项目目录下,运行: pip install -r ./requirement.txt 下面为./requirement.txt,是之前我自己在windows下写的项目中使用ansible所依赖的模块,运用上述命令进行模块安装: Django

flask项目结构(六)快速开发后台flask-admin

简介: Flask-admin 相当django的xadmin吧! 快速装配一个后台用来管理数据. Flask-admin也是有使用局限性的,他只适合开发小型快速的应用,不适合那种大型并发性高,逻辑复杂的应用.首先,对于大型应用都是前后端分离的,加快访问速度,而且后端装配,尤其是这种动态生成页面的速度更慢. 需要安装Flask-Admin,Flask-BabelEx, 一:导入admin 1.导入 from flask import Flask from app.main.views impor

在Django Xadmin中集成Ueditor

Ueditor是由百度开发的一个开源的富文本编辑器,有人做了一个将其集成到Django中的方案(请戳),但是在xadmin中却无法正常加载编辑器. 其使用了一个模板用来呈现Ueditor的编辑界面 <textarea name={{ UEditor.name }} id=id_{{ UEditor.name }} style="display:inline-block;width:{{ UEditor.width }}px; {{ UEditor.css }}">{{UEd