xadmin快速搭建一个后台管理系统

时间:2022-08-29 10:39:43

环境:python3.5.2 ,django 2.0 ,xadmin2.0

Firsttly,

到 https://github.com/sshwsfc/xadmin/tree/django2上下载源码,之后把其中的xadmin目录放在项目目录中新建的extra_apps这个目录中

xadmin快速搭建一个后台管理系统

Secondly,

将extra_apps mark as source root ,然后在settings中将其导入到python 的搜索目录中

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 文件目录导入到搜索路径中
sys.path.insert(0, os.path.join(BASE_DIR, "apps"))
sys.path.insert(0, os.path.join(BASE_DIR,"extra_apps"))

然后,install xadmin所需的第三方库

pip3 install -r requirements.txt

Thirdly,

在settings.py中我们还需要导入以下几个app

INSTALLED_APPS = [
......
'xadmin',
'crispy_forms',
'reversion',
]

Fourthly,

在urls.py中也需要对其的路径进行下配置

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

Fifthly,相关设置

后台数据展示

在当前apps下创建xadmin.py文件,注意只能是adminx.py文件

class ModelObjectAdmin(object):

    # 排除一些不想被其他人编辑的fields,不包含在内的字段不能编辑
fields = ('fields',) # 数据展示显示,列表中展示哪些字段信息
list_display = [“fields”,] # 筛选(后台管理页面中的过滤器)
list_filter = ['fields'] # 查询 ,指定哪些字段信息可以被搜索
search_fields =[ 'fields'] # 后台自定义默认排序 ,加‘-’表示降序
ordering = ['-fields'] # 添加日期过滤器,该字段只能是日期类型
date_hierarchy = 'date_fields' # 后台直接在表上修改数据
list_editable = ['fields'] # 自定义该表菜单的icon样式
model_icon = 'fa fa-cog' # xadmin/plugins/refresh插件定时刷新页面
refresh_times = [60] # 后台可选择10秒刷新一次或者60秒刷新一次 # 后台自定义哪些字段只可读
readonly_fields = [“fields”] # 列表显示的时候,指定的字段可以直接页面一键编辑
list_editable = ["fields”] # 指定xadmin插件的样式
style_fields = {'roles': 'm2m_transfer',“article”:'ueditor'} # filter_horizontal 从‘多选框’的形式改变为‘过滤器’的方式,水平排列过滤器,必须是一个 ManyToManyField类型,且不能用于 ForeignKey字段
filter_horizontal = ('fields',) # 同上filter_horizontal,垂直排列过滤器
filter_vertical = ["fields",] # 将ForeignKey字段从‘下拉框’改变为‘文本框’显示
raw_id_fields = ['fields',] # 在编辑和查看列表时指定不显示的字段
exclude = ['fields'] # 在指定的字段后添加一个显示数据详情的一个按钮
show_detail_fields=['fields'] # 后台自定义不是下拉选择框,而是搜索框
relfield_style = 'fk-ajax'

xadmin.site.register(ModelObject, ModelObjectAdmin)

 基础设置

from xadmin import views

class BaseSetting(object):
enable_themes = True #开启主题选择
use_bootswatch = True class GlobalSettings(object):
site_title = "xx后台管理系统" #设置头标题
site_footer = " " #设置脚标题 (设置底部关于版权信息)
#设置菜单缩放
menu_style = "accordion" #设置菜单样式 xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)

中文显示和时区设置

# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans' # TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'

app标题设置

app下的apps.py文件

class UserConfig(AppConfig):
name = 'apps.user'
verbose_name="用户管理"

xadmin快速搭建一个后台管理系统的更多相关文章

  1. 使用React全家桶搭建一个后台管理系统

    引子 学生时代为了掌握某个知识点会不断地做习题,做总结,步入岗位之后何尝不是一样呢?做业务就如同做习题,如果‘课后’适当地进行总结,必然更快地提升自己的水平. 由于公司采用的react+node的技术 ...

  2. 如何使用Vue.js来搭建一个后台管理系统

    目录 使用的技术 基础但不好版 1.初始化项目 2.实现初始页内容自定义 3.使用路由 原始代码 自建页面 修改路由 4.测试路由跳转 补充 子路由版 嵌套router-view 定义子路由 修改菜单 ...

  3. SSM搭建一个后台管理系统

    看一下效果图: 登陆界面: 图片上传页面: 我也把项目放到服务器上了,可以直接查看项目内容: http://codingcoge.cn/ssm-demo/login.html 1 我也放到github ...

  4. 快速搭建一个直播Demo

    缘由 最近帮朋友看一个直播网站的源码,发现这份直播源码借助 阿里云 .腾讯云这些大公司提供的SDK 可以非常方便的搭建一个直播网站.下面我们来给大家讲解下如何借助 腾讯云 我们搭建一个简易的 直播示例 ...

  5. 快速搭建一个Quartz定时任务【转载,好文 ,值得收藏,亲身试用 效果不错】

    Quartz.NET 入门 概述 Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等. Quartz.NET允许开发人员根据时间间隔 ...

  6. NodeJS 最快速搭建一个HttpServer

    最快速搭建一个HttpServer 在目录里放一个index.html cd D:\Web\InternalWeb start http-server -i -p 8081

  7. vuejsLearn---通过手脚架快速搭建一个vuejs项目

    开始快速搭建一个项目 通过Webpack + vue-loader 手脚架 https://github.com/vuejs-templates/webpack 按照它的步骤一步一步来 $ npm i ...

  8. [原创] zabbix学习之旅五:如何快速搭建一个报警系统

    通过之前的文章,我们已搭建好zabbix server.agent和mail客户端,现在万事俱备,只差在server的界面中进行相应配置,即可快速搭建一个报警系统.总的来说,快速搭建一个报警系统的顺序 ...

  9. 快速搭建一个本地的FTP服务器

    快速搭建一个本地的FTP服务器   如果需要开发FTP文件上传下载功能,那么需要在本机上搭建一个本地FTP服务器,方便调试. 第一步:配置IIS Web服务器 1.1 控制面板中找到"程序& ...

随机推荐

  1. python基础-迭代器和生成器

    一.递归和迭代 1.递归:(问路示例) 递归算法是一种直接或者间接地调用自身算法的过程.在计算机编写程序中,递归算法对解决一大类问题是十分有效的,它往往使算法的描述简洁而且易于理解. 2.迭代:简单理 ...

  2. [Head First设计模式]策略模式

    系列文章 [Head First设计模式]山西面馆中的设计模式——装饰者模式 [Head First设计模式]山西面馆中的设计模式——观察者模式 [Head First设计模式]山西面馆中的设计模式— ...

  3. linux awk的使用

    awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各 ...

  4. class-dump + DumpFrameworks.pl

    目的:实现生成 private framework 的 .h,以便倒入项目使用私有 api. 一.class-dump 下载地址: http://stevenygard.com/download/ 安 ...

  5. InnoDB: Error number 24 means ‘Too many open files’.--转载

    一.问题的描述 备份程序 执行前滚的时候报错.(-apply-log) InnoDB: Errornumber 24 means 'Too many open files'. InnoDB: Some ...

  6. Linux Ubuntu jdk(环境变量)配置

    一.下载JDK - jdk版本建议是gz形式的,rpm是RedHat里面的命令,所以下载rpm格式的时候回遇到问题 二. 打开虚拟机,创建目录 1 创建目录 #mkdir home 2 转到该目录下 ...

  7. 【LuaJIT版】从零开始在 macOS 上配置 Lua 开发环境

    前言 这篇文章针对的是基于 LuaJIT 的环境配置.借助于 LuaJIT,Lua 的执行效率可以进一步提升几十倍.如果你不是很清楚自己是需要 Lua 还是 LuaJIT,那么建议你从 LuaJIT ...

  8. random os 序列化 模块模块 随机选择

    # 1 random 模块 随机选择# import random#随机取小数# ret = random.random() #空是0到1之间的小数字# print(ret)# # 0.0799728 ...

  9. Java基础-SSM之mybatis的统计函数和分页查询

    Java基础-SSM之mybatis的统计函数和分页查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  10. Hadoop HA 深度解析

    社区hadoop2.2.0 release版本开始支持NameNode的HA,本文将详细描述NameNode HA内部的设计与实现. 为什么要Namenode HA? 1. NameNode High ...