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

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

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. 关于vue2.0获取后端数据

    一.通过vue-rource完成异步请求: 其用法跟ajax用法差不多,也就是改变了一些语法格式.从获取路径到值的获取都是一样的,但是有一点是不同的就是ajax获取到的数据会自动转成json格式,而v ...

  2. centos7在upgrade的时候显示:Delta RPMs disabled because /usr/bin/applydeltarpm not installed

    前面安装信息,太多,省略 总计:113 MIs this ok [y/d/N]: yDownloading packages:Delta RPMs disabled because /usr/bin/ ...

  3. Codeforces 984 D - XOR-pyramid

    D - XOR-pyramid 思路: 区间dp dp[l][r]表示ƒ([l, r])的值 显然,状态转移方程为dp[l][r] = dp[l][r-1] ^ dp[l+1][r] 初始状态dp[i ...

  4. css特效博客

    1. 前端网上: e344657992 http://www.qdfuns.com/notes/15477/02cb463c28d9fe69ee0bc804448b8316.html

  5. https 学习笔记

    参考 : http://www.cnblogs.com/JimmyZhang/archive/2008/10/02/Cryptograph.html https://blog.csdn.net/Jog ...

  6. Python&HDF5目录

    最近一直没更新python&量化的博客,是因为忙于看HDF5的书,写VNPY框架,学scrapy爬虫. 本来写博客的目的就是为了当作一种教材,当遇到不会的问题过来找答案. 对于HDF5下面这本 ...

  7. 第 7 章 多主机管理 - 046 - 创建 Machine

    创建 Machine Machine 就是运行 docker daemon 的主机. “创建 Machine” 指的就是在 host 上安装和部署 docker. 创建第一个 machine: hos ...

  8. Java 反射(简单捋一下)

    有Student类,Person类,还有一个叫Class的类,这是反射的源头. 正常方式:通过完整的类名 > 通过new实例化 > 取得实例化对象 反射方式:实例化对象 > getC ...

  9. centos7: 将nginx,php-fpm加入开机启动

    1. 自己新建一个脚本,如centnet-service.sh 经过后面的几个步骤后,这个脚本在开机的时候会执行,在这个脚本里面可以写你开机的时候想执行的命令,如启动nginx,phpf-pm等服务 ...

  10. POJ-2955 Brackets(括号匹配问题)

    题目链接:http://poj.org/problem?id=2955 这题要求求出一段括号序列的最大括号匹配数量 规则如下: the empty sequence is a regular brac ...