xadmin自定义页面
django自带的admin因为功能和样式比较简陋,所以很多程序员选择第三方后台xadmin做后台,但是xadmin的自带管理页面非常有限,有时我们也想自己定制一些功能页面,网上关于这个需求的教程实在是太少了,或者讲得实在是很模糊,经过我自己的一些摸索后现在来谈一下我总结的经验,我遇到的坑都用会在注释里写命
(此定制页面非xadmin添加插件式定制,而是添加路由,并通过view,和自定义html模板生成自定义页面)
第一步需要在左边侧栏添加需要的菜单
在adminx.py下添加以下代码
# 设计左侧菜单
class GlobalSetting(object): #名称不能改def get_site_menu(self): #名称不能改return [{'title': '测试的','icon': 'fa fa-bar-chart-o','menus': ({'title': '测试子菜单1', #这里是你菜单的名称'url': '/xadmin/test_view', #这里填写你将要跳转url'icon': 'fa fa-cny' #这里是bootstrap的icon类名,要换icon只要登录bootstrap官网找到icon的对应类名换上即可},{'title': '测试子菜单2','url': 'http://www.taobao.com','icon': 'fa fa-cny'})}]#注册你上面填写的url
from .views import TestView #从你的app的view里引入你将要写的view,你也可以另外写一个py文件,把后台的view集中在一起方便管理
xadmin.site.register_view(r'test_view/$', TestView, name='for_test')#注册GlobalSetting
from xadmin.views import CommAdminView
xadmin.site.register(CommAdminView, GlobalSetting)
此时你重新运行一下django侧栏就会出现你自定义的菜单了
第二步写view
这个view你可以写在一个另外独立的py文件里面,这样方便以后管理,但是我这次比较懒所以直接写在app的view里面
from xadmin.views import CommAdminViewclass TestView(CommAdminView):def get(self, request):context = super().get_context() # 这一步是关键,必须super一下继承CommAdminView里面的context,不然侧栏没有对应数据,我在这里卡了好久title = "测试子菜单1" #定义面包屑变量context["breadcrumbs"].append({'url': '/cwyadmin/', 'title': title}) #把面包屑变量添加到context里面context["title"] = title #把面包屑变量添加到context里面#下面你可以接着写你自己的东西了,写完记得添加到context里面就可以了.........return render(request, 'test.html', context) #最后指定自定义的template模板,并返回context
第三步自定义template模板
最后自定义template只要把xadmin的基础模板继承起来就可以愉快自己定制页面了
{% extends 'xadmin/base_site.html' %}{% block content %}test
{% endblock %}
大功告成~~~~
最后有人会问为什么会有个空白的框框
这个是xadmin自带的model字段筛选器的框框,但是因为是自定义页面,所以并没有需要筛选的东西,所以空了,但是完全不影响我们的使用,至于怎样取消掉它,我暂时没找到方法,希望有知道的小伙伴告诉一下我
xadmin自定义页面相关推荐
- xadmin的html页面怎么写按钮,xadmin插入自定义页面
在xadmin后台新增页面,如下所示: tempsnip.png 1,在xadmin.py文件中设置全局样式并注册. class GlobalSetting(object): site_title=& ...
- xadmin后台页面定制和添加服务器监控组件
xadmin定制 项目需要添加服务器监控页面,碍于xadmin不是很好自定义页面,之前写过插件,太麻烦了,还是直接改源码 原理其实很简单,因为xadmin的处理流程和django类似,都是通过拦截UR ...
- 博客园自定义页面风格设计 后续篇(页面设计模式及代码高亮 鼠标点击效果升级)...
前言 在之前所写过的博客园自定义页面风格设计篇中,我们已经说明了其中两种风格的页面设计,鼠标图案的修改,公告栏的设置,背景音乐的制作,关于CSS以及用Canvas和requestAnimFrame做动 ...
- Hexo自定义页面的两种方法
原文地址:http://refined-x.com/2017/07/10/Hexo自定义页面的方法/. Hexo是静态页博客生成利器,同很多博主一样,前端路上原创技术博客也是使用Hexo生成并托管在G ...
- Facebook Docusaurus 中文文档 自定义页面
此系列文章的应用示例已发布于 GitHub: docusaurus-docs-Zh_CN. 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star. 自定义页面 您可以将网页添加到您的网站, ...
- php在页面循环输出标签,自定义页面循环
一.语法{page ....}{/page} 二.参数介绍参数介绍 site站点id,默认当前站点,填写其他站点id id指定显示,多个id以小写分号分开,例如1,2,3,4,5 show有show ...
- 权限操作-springSecurity快速入门-使用自定义页面
使用自定义页面 spring-security.xml配置 <?xml version="1.0" encoding="UTF-8"?> <b ...
- 整理ASP.NET MVC 5各种错误请求[401,403,404,500]的拦截及自定义页面处理实例
http://2sharings.com/2015/asp-net-mvc-5-custom-404-500-error-hanlde https://blog.csdn.net/yhyhyhy/ar ...
- springboot 监听所有异常_SpringBoot 全局异常配置及返回自定义页面
1. 全局异常的配置 1. 创建异常处理类 package com.test.spring_boot_demo.domain; import org.slf4j.Logger; import org. ...
最新文章
- 一览群智胡健:在中国完全照搬Palantir模式,这不现实
- PAT甲级1019 General Palindromic Number:[C++题解]进制位、回文数、vector来做
- python收集数据程序_用一行Python代码进行数据收集探索!Python真牛逼!
- 处理多维特征的输出(糖尿病数据)
- matlab2c使用c++实现matlab函数系列教程-randint函数
- Unity SKFramework框架(一)、Audio音频管理器
- 高德地图定位误差_高德地图定位api以及导航和定位 位置的偏差
- 凉茶配方案终审 加多宝赔偿近2亿元
- 中国第一个 Apache 顶级开源项目的突围之路!
- centos 7 下 硬盘GPT格式转换
- Matplotlib 绘图 (二)
- 人人公司启动史上最大规模校园招聘
- 个人项目部署至腾讯云服务器 用ip或者域名直接访问 详细步骤及注意点! 适合新手
- c# winform 查源码综合工具及方法、快速查c#源码方法,加壳工具
- 机器学习—模型估计与优化—线性模型—最小二乘估计
- 和菜鸟一起学证券投资之消费物价指数CPI
- mysql 存储年月_mysql 存储年月
- ECB(Electronic Code Book)电子密码本模式(分组密码)
- WAV音频数组提取器【单片机音频处理】
- python表格操作_python表格操作练习
热门文章
- vio前端图像匹配与对极几何
- 三大统计软件:SAS、Stata与SPSS比较
- wms地图绘制工具_地图空间分析工具MapViewer下载-地图空间分析(MapViewer)下载v8.4.406 官方版-西西软件下载...
- 使用golang发送邮件,报错“x509: certificate signed by unknown authority”
- mysql也有dblink
- Qt编写自定义控件:唱片播放控件
- DDoS攻击的一些防护方法
- 灰色马尔科夫链matlab,基于灰色-马尔科夫模型的电力功率预测
- R语言1----Excel格式数据的导入
- 判断手势_科目一题库里的4道难题,拿不到满分也正常,交警手势不好判断