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自定义页面相关推荐

  1. xadmin的html页面怎么写按钮,xadmin插入自定义页面

    在xadmin后台新增页面,如下所示: tempsnip.png 1,在xadmin.py文件中设置全局样式并注册. class GlobalSetting(object): site_title=& ...

  2. xadmin后台页面定制和添加服务器监控组件

    xadmin定制 项目需要添加服务器监控页面,碍于xadmin不是很好自定义页面,之前写过插件,太麻烦了,还是直接改源码 原理其实很简单,因为xadmin的处理流程和django类似,都是通过拦截UR ...

  3. 博客园自定义页面风格设计 后续篇(页面设计模式及代码高亮 鼠标点击效果升级)...

    前言 在之前所写过的博客园自定义页面风格设计篇中,我们已经说明了其中两种风格的页面设计,鼠标图案的修改,公告栏的设置,背景音乐的制作,关于CSS以及用Canvas和requestAnimFrame做动 ...

  4. Hexo自定义页面的两种方法

    原文地址:http://refined-x.com/2017/07/10/Hexo自定义页面的方法/. Hexo是静态页博客生成利器,同很多博主一样,前端路上原创技术博客也是使用Hexo生成并托管在G ...

  5. Facebook Docusaurus 中文文档 自定义页面

    此系列文章的应用示例已发布于 GitHub: docusaurus-docs-Zh_CN. 可以 Fork 帮助改进或 Star 关注更新. 欢迎 Star. 自定义页面 您可以将网页添加到您的网站, ...

  6. php在页面循环输出标签,自定义页面循环

    一.语法{page  ....}{/page} 二.参数介绍参数介绍 site站点id,默认当前站点,填写其他站点id id指定显示,多个id以小写分号分开,例如1,2,3,4,5 show有show ...

  7. 权限操作-springSecurity快速入门-使用自定义页面

    使用自定义页面 spring-security.xml配置 <?xml version="1.0" encoding="UTF-8"?> <b ...

  8. 整理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 ...

  9. springboot 监听所有异常_SpringBoot 全局异常配置及返回自定义页面

    1. 全局异常的配置 1. 创建异常处理类 package com.test.spring_boot_demo.domain; import org.slf4j.Logger; import org. ...

最新文章

  1. 一览群智胡健:在中国完全照搬Palantir模式,这不现实
  2. PAT甲级1019 General Palindromic Number:[C++题解]进制位、回文数、vector来做
  3. python收集数据程序_用一行Python代码进行数据收集探索!Python真牛逼!
  4. 处理多维特征的输出(糖尿病数据)
  5. matlab2c使用c++实现matlab函数系列教程-randint函数
  6. Unity SKFramework框架(一)、Audio音频管理器
  7. 高德地图定位误差_高德地图定位api以及导航和定位 位置的偏差
  8. 凉茶配方案终审 加多宝赔偿近2亿元
  9. 中国第一个 Apache 顶级开源项目的突围之路!
  10. centos 7 下 硬盘GPT格式转换
  11. Matplotlib 绘图 (二)
  12. 人人公司启动史上最大规模校园招聘
  13. 个人项目部署至腾讯云服务器 用ip或者域名直接访问 详细步骤及注意点! 适合新手
  14. c# winform 查源码综合工具及方法、快速查c#源码方法,加壳工具
  15. 机器学习—模型估计与优化—线性模型—最小二乘估计
  16. 和菜鸟一起学证券投资之消费物价指数CPI
  17. mysql 存储年月_mysql 存储年月
  18. ECB(Electronic Code Book)电子密码本模式(分组密码)
  19. WAV音频数组提取器【单片机音频处理】
  20. python表格操作_python表格操作练习

热门文章

  1. vio前端图像匹配与对极几何
  2. 三大统计软件:SAS、Stata与SPSS比较
  3. wms地图绘制工具_地图空间分析工具MapViewer下载-地图空间分析(MapViewer)下载v8.4.406 官方版-西西软件下载...
  4. 使用golang发送邮件,报错“x509: certificate signed by unknown authority”
  5. mysql也有dblink
  6. Qt编写自定义控件:唱片播放控件
  7. DDoS攻击的一些防护方法
  8. 灰色马尔科夫链matlab,基于灰色-马尔科夫模型的电力功率预测
  9. R语言1----Excel格式数据的导入
  10. 判断手势_科目一题库里的4道难题,拿不到满分也正常,交警手势不好判断