虽然不做前端,还是喜欢好看的东西~。~

之前同事估计也是功能实现没空管这个后台,前段时间闲的,稍微改了下外貌,前后对比下:

Python3.5+Django1.9.7+Xadmin0.6.1

步骤如下:

  1.从git下下载安装包https://github.com/sshwsfc/xadmin,先在项目根目录下创建extra_apps,解压下载的包xadmin,把xadmin文件夹放到extra_apps下,如图:

  


  2.在settings.py中更改这两处:INSTALLED_APPS中加入xadmin和crispy_forms,配置extra_apps路径,汉化

import sys
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

  


  3.配置主路由

  


  4.在app下创建adminx.py,将原本的admin.py里的代码复制到adminx.py里,进行以下修改:

  图标库地址:http://www.fontawesome.com.cn/faicons/

from django.contrib import admin
from .models import Organization # Register your models here.
@admin.register(Organization)
class OrgAdmin(admin.ModelAdmin):
list_display = ('alias', 'name') #改为
import xadmin
from xadmin import views
from .models import Organization # Register your models here.
class OrgAdmin(object):
list_display = ['alias', 'name']
model_icon = 'fa fa-sitemap' #小图标
xadmin.site.register(Organization, OrgAdmin)

  


  5.设置主题,很多炫黑的颜色

# adminx.py文件增加以下几行
class BaseSetting(object):
enable_themes = True
use_bootswatch = True xadmin.site.register(views.BaseAdminView, BaseSetting)

  


  6.修改应用下apps.py文件,设置多表收缩和一级菜单名称(数据管理),设置头部和尾部

# apps.py修改为:
# -*- coding: utf-8 -*-
from django.apps import AppConfig class SmsConfig(AppConfig):
name = 'sms'
# 多表收缩时的菜单名称
verbose_name = u'数据管理' #app下__init__.py文件增加一行:
default_app_config = "yourapp.apps.SmsConfig" # adminx.py增加以下几行:
class GlobalSetting(object):
"""设置头部和尾部"""
site_title = "短信后台管理系统"
site_footer = "http://smsweb.corp.ncfgroup.com/xadmin"
menu_style = "accordion"
xadmin.site.register(views.CommAdminView, GlobalSetting)

  


  7.设置后台登陆session有效期为一天过期重新登陆,默认是没有过期时间

# extra_apps/xadmin/views/base.py
class BaseAdminView(BaseAdminObject, View):
""" Base Admin view, support some comm attrs.""" base_template = 'xadmin/base.html'
need_site_permission = True def __init__(self, request, *args, **kwargs):
self.request = request
self.request_method = request.method.lower()
self.user = request.user self.base_plugins = [p(self) for p in getattr(self,
"plugin_classes", [])]
# request.session.set_expiry(datetime.timedelta(days=1))
# 设置一天后过期 增加下面一行
request.session.set_expiry(86400)
self.args = args
self.kwargs = kwargs
self.init_plugin(*args, **kwargs)
self.init_request(*args, **kwargs)

  


  8.取消关联编辑,修改adminx.py文件

 修改后:

class SMSLogAdmin(ReadonlyAdmin):
list_display = ['id', 'my_mobile', 'status', 'req_time', 'ret_time', 'account', 'my_tally', 'my_price']
list_filter = ['account', 'status', 'req_time',]
model_icon = 'fa fa-commenting'
# 添加下面这行,关闭关联编辑
show_all_rel_details = False
xadmin.site.register(SMSLog, SMSLogAdmin)
class AccountAdmin(object):
list_display = ['username', 'organization', 'signature',]
model_icon = 'fa fa-address-card'
# 快捷编辑指定字段
show_detail_fields = ['organization', ]
xadmin.site.register(Account, AccountAdmin)

实现django admin后台到xadmin后台的转变的更多相关文章

  1. python3.4下django集成使用xadmin后台

    环境:window7 x64.python3.4.django1.10 一.pip install xadmin安装报错 1.使用pip install xadmin命令安装可能报如下错误: 2.解决 ...

  2. 解决了好几天的关于django xadmin后台增加链接并执行函数的问题

    由于xadmin后台封装的完整性,想要在后台做一些改动对于新手来说还是有点困难,目前解决的第一个问题: 在admin后台增加链接,使其改变上级签收状态 如图 点击签收按钮之后,改变其状态 代码展示: ...

  3. Django 后台管理xadmin

    一. xadmin的使用 后台管理在开发中可以给我们提供很大的便利,django自带了一个后台管理admin,不过还有一个xadmin比django自带的好用一些,功能更加强大,为模型提供了版本控制, ...

  4. 第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明

    第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明 设置后台列表页面可以直接修改字段内容 在当前APP里的adminx.py文件里的 ...

  5. 第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置

    第三百九十三节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置 设置后台某个字段的排序规则 在当前APP里的adminx.py文件里的数据表管理器里设置 order ...

  6. 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理

    第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...

  7. django博客项目6:Django Admin 后台发布文章

    在此之前我们完成了 Django 博客首页视图的编写,我们希望首页展示发布的博客文章列表,但是它却抱怨:暂时还没有发布的文章!如它所言,我们确实还没有发布任何文章,本节我们将使用 Django 自带的 ...

  8. Django Admin后台添加用户时出现报错:1452

    如果在使用Django Admin后台添加用户时出现报错: (1452, 'Cannot add or update a child row: a foreign key constraint fai ...

  9. 在使用django admin的后台搜索时报错

    在使用django admin的后台搜索时报错 百度说在search_fields中定义了非字符串字段,最后发现author引用了外键 解决办法: 有外健时应写成: 本表外键字段__外键所在表所需要查 ...

随机推荐

  1. Lua和C++交互 学习记录之四:全局table交互

    主要内容转载自:子龙山人博客(强烈建议去子龙山人博客完全学习一遍) 部分内容查阅自:<Lua 5.3  参考手册>中文版 译者 云风 制作 Kavcc vs2013+lua-5.3.3 1 ...

  2. Python量化库大全

    https://zhuanlan.zhihu.com/p/26983703?utm_source=wechat_session&utm_medium=social 这个网址上详细介绍了,做量化 ...

  3. phpstudy2018配置站点后500错误问题

    phpstudy2016没发现这个问题,这是因为新项目要使用laravel,php版本要求7.1,所有换成了2108,但是laravel的项目没问题,原来tp框架的都不能正常访问,最好查看nginx错 ...

  4. TCHART类型

    private Steema.TeeChart.Styles.Pie pieSeries1; private Steema.TeeChart.Styles.Pie pieSeries2; privat ...

  5. 雷林鹏分享:jQuery EasyUI 树形菜单 - 树形网格动态加载

    jQuery EasyUI 树形菜单 - 树形网格动态加载 动态加载树形网格有助于从服务器上加载部分的行数据,避免加载大型数据的长时间等待.本教程将向您展示如何创建带有动态加载特性的树形网格(Tree ...

  6. Java类成员变量的默认值

    1.布尔型(boolean)变量默认值为false,byte.short.int.long为0,字符型为'\u0000'(空字符),浮点型(float double)为0.0,引用类型(String) ...

  7. ADO.NET Entity Framework学习笔记(3)ObjectContext

    ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject ...

  8. Python自学:第二章 使用制表符或换行符来添加空白

    print("Languages:\n\tPython\n\tC\n\tJava") 输出为: Languages: Python C Java

  9. 11月26日 用seed,预加载种子文件; Case 条件语句。网址的参数如何传递,; Query--自定义scopes

    在seed文件中输入一些预加载的种子job,注意属性和值都要有:  ❌错误,我输入contact_email的时候value值是空的,这样不能正确生成. 正确✅: for i in 1..10 do ...

  10. navicat和 plsql 连接oracle数据库 总结

    打开 navicat  -->工具-->选项-->oci   右侧选择oci.dll 的路径 默认 在 navicat的安装目录下有一个 instantclient 的文件夹 直接选 ...