1.在xadmin.py,GlobalSettings中自定义菜单

2.自定义视图函数,并获取原来的菜单等一下信息(主要是为了用xadmin的模板),具体的自己看xadmin源码

3.在adminx.py中注册路由

4.html继承。

例:

xadmin.py:

class GlobalSettings(object):
site_title = "后台"
site_footer = "xxxx"
# menu_style = "accordion"
def get_site_menu(self):
return (
{'title': '新功能',
'menus': (
{
'title': '新功能',
'url': '/xadmin/xxxxview/',
},
)
},
)
# 调用原来model的话
def get_site_menu(self):
return (
{'title': 'ERP管理系统',
'perm': self.get_model_perm(models.ZVipbalance, 'view'),
'menus': (
{
'title': '新',
'url': '/admin/test_view/',
# 'perm': self.get_model_perm(ZVipbalanceList, 'view'),
},
)
},
)

views.py:

class TestView(CommAdminView):
def get(self, request):
context = super().get_context()
title = "会员延期"
# context["breadcrumbs"].append({'url': '/cwyadmin/', 'title': title})
context["title"] = title
return render(request, 'ERPSystem/t.html', context) #主目录的 template下的 html文件 # 调用本地文件进行展示
class LogView(CommAdminView):
def get(self, request):
context = super().get_context()
readfilecontent1 = []
readfilecontent2 = []
list = os.listdir('log')
path_last1 = ''
path_last2 = ''
last_time = ''
for i in range(0, len(list)):
if re.match(r'log',list[i]):
path = os.path.join('log', list[i])
if last_time == '' :
last_time = os.path.getmtime(path)
path_last1 = path
elif last_time < os.path.getmtime(path):
# path_last2 = path_last1
path_last1 = path with open(path_last1, "r", encoding='gb2312') as f:
for line in f:
readfilecontent1.insert(0, line)
if path_last2 != '':
with open(path_last2, "r", encoding='gb2312') as f:
for line in f:
readfilecontent2.insert(0, line)
else:
path_last2 = 'no more' context["title1"] = path_last1
context["title2"] = path_last2
context["context1"] = readfilecontent1
context["context2"] = readfilecontent2
return render(request, 'log.html', context)

xadmin.py:

import xadmin
from .views import TestView xadmin.site.register_view(r'test_view/$', TestView, name='for_test'):

 html:

 {% extends 'xadmin/base_site.html' %}
{# 例 展示本地文件内容#}
{% block nav_form %}
<h3>{{ title1 }}</h3>
{% for i in context1 %}
<p>{{ i }}</p>
{% endfor %}
<h3>{{ title2 }}</h3> {% for i in context2 %}
<p>{{ i }}</p>
{% endfor %} {% endblock %}

django xadmin(2) 在xadmin基础上完成自定义页面的更多相关文章

  1. docker开发_在basic image的基础上创建自定义的image

    方法一:docker commit 1. 跑一个basic image,docker新建了一个容器 root@ubuntu:/home/thm/docker/test# docker run -i - ...

  2. django入门8之xadmin引入富文本和excel插件

    django入门8之xadmin引入富文本和excel插件 Xadmin引入富文本 插件的文档 https://xadmin.readthedocs.io/en/docs-chinese/make_p ...

  3. django入门5使用xadmin搭建管理后台

    环境搭建: pip install django==1.9.8 pip install MySQL_python-1.2.5-cp27-none-win_amd64.whl pip install f ...

  4. django rest framework 的xadmin 的坑

    1.ImportError: No module named xadmin 方案: BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath ...

  5. 实现django admin后台到xadmin后台的转变

    虽然不做前端,还是喜欢好看的东西~.~ 之前同事估计也是功能实现没空管这个后台,前段时间闲的,稍微改了下外貌,前后对比下: Python3.5+Django1.9.7+Xadmin0.6.1 步骤如下 ...

  6. 在可插拔settings的基础上加入类似中间件的设计

    在可插拔settings的基础上加入类似中间件的设计 settings可插拔设计可以看之前的文章 https://www.cnblogs.com/zx125/p/11735505.html 设计思路 ...

  7. .net在当前日期的基础上加一天

    比如今天是:2015-11-10 18:57:01,在这个基础上加一天,那么就是2015-11-11 18:57:01,代码如下: DateTime now_dt = DateTime.Now; ). ...

  8. 【JavaEE】SSH+Spring Security基础上配置AOP+log4j

    Spring Oauth2大多数情况下还是用不到的,主要使用的还是Spring+SpringMVC+Hibernate,有时候加上SpringSecurity,因此,本文及以后的文章的example中 ...

  9. 在cocos code ide的基础上构建自己的lua开发调试环境

    对于一种语言,其所谓开发调试环境, 大体有以下两方面的内容: 1.开发, 即代码编写, 主要是代码提示.补齐, 更高级一点的如变量名颜色等. 2.调试, 主要是运行状态下断点.查看变量.堆栈等. 现在 ...

随机推荐

  1. jQuery validate基本原则

    Markup recommendations Each input has a label associated with it: The for-attribute of the label ref ...

  2. JMM &amp; synchronized概述(转)

    根据Java语言规范中的说明,JVM系统中存在一个主内存(Main Memory),Java中所有的变量存储在主内存中,对于所有的线程是共享的(相当于黑板,其他人都可以看到的).每个线程都有自己的工作 ...

  3. java io InputStream 转 byte

    InputStream is ; ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte[] b = new byte[1024] ...

  4. Angularjs 使用filter格式化输出href

    工作中,由于是多级菜单,如果上级菜单为空,就会访问Angularjs 默认的state,然后再展开菜单,我找资料之后,才知道是通过filter来格式化输出数据的,格式是{{ expression | ...

  5. loadrunner做webservice接口之简单调用

    今天听大神讲了webservice做接口,我按照他大概讲的意思自己模拟实战了下,可能还有很多不对,一般使用webservice做接口,会使用到soapui,但是用了loadrunner以后发现lr很快 ...

  6. bzoj 3551 [ONTAK2010]Peaks加强版(kruskal,主席树,dfs序)

    Description [题目描述]同3545 Input 第一行三个数N,M,Q. 第二行N个数,第i个数为h_i 接下来M行,每行3个数a b c,表示从a到b有一条困难值为c的双向路径. 接下来 ...

  7. ans Single VIP LLB and SLB config

    ans Single VIP LLB and SLB config 配置命令: # 配置设备工作模式和开启的功能 > enable ans mode FR MBF Edge USNIP L3 P ...

  8. F5负载均衡原理(转载)

    https://blog.csdn.net/panxueji/article/details/42647193 一. 负载均衡技术 负载均衡技术在现有网络结构之上提供了一种廉价.有效.透明的方法,来扩 ...

  9. tryparse

    [C#笔札]Tryparse的用法   这是参考读物的上得一个例子.自己仿照做的作业 private void button1_Click(object sender, EventArgs e) { ...

  10. Jenkins无法安装插件或首次安装插件界面提示Offline

    一.首先点击系统管理 二.点击插件管理 三.选择高级管理 四.将升级站点中的https改成http即可