• 官方文档: http://xadmin.readthedocs.io/en/docs-chinese/

版本:django1.9

pip安装部署

pip install xadmin

  • settings.py配置

INSTALLED_APPS中增加2个app:xadmin、crispy_forms

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','xadmin','crispy_forms',
]

  • urls.py配置,xadmin替换admin
from django.conf.urls import url
from django.contrib import admin
import xadminurlpatterns = [# url(r'^admin/', admin.site.urls),url(r'^xadmin/', xadmin.site.urls),
]

  • 数据库同步
makemigrations
migrate

  • 访问首页

源码安装部署

下载:https://github.com/sshwsfc/xadmin

解压xadmin-master.zip文件

将xadmin-master文件中xadmin目录复制到自己的django项目下

xadmin注册

已在models创建表EmailVerifyRecord

class EmailVerifyRecord(models.Model):email_choices = (('register', u'注册'),('forget', u'找回密码'),)code = models.CharField(max_length=20, verbose_name=u'验证码')email = models.EmailField(max_length=50, verbose_name=u'邮箱')send_type = models.CharField(choices=email_choices, max_length=10, verbose_name=u'验证码类型')send_time = models.DateTimeField(default=datetime.now, verbose_name=u'发送时间')

在创建的app下创建adminx.py文件

import xadmin
from .models import EmailVerifyRecordclass EmailVerifyRecordAdmin(object):list_display = ['code', 'email', 'send_type', 'send_time']search_fields = ['code', 'email', 'send_type']list_filter = ['code', 'email', 'send_type', 'send_time']xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)

主题应用

adminx.py文件增加

from xadmin import viewsclass BaseSetting(object):enable_themes = Trueuse_bootswatch = Truexadmin.site.register(views.BaseAdminView, BaseSetting)

全局应用

  • 页头和页尾自定义

adminx.py文件增加

from xadmin import viewsclass GlobalSetting(object):site_title = "shhnwangjian后台管理系统"site_footer = "http://www.cnblogs.com/shhnwangjian/"xadmin.site.register(views.CommAdminView, GlobalSetting)

  • 左侧app中文名称定义和多表紧缩

修改前

修改后

adminx.py文件增加

from xadmin import viewsclass GlobalSetting(object):site_title = "shhnwangjian后台管理系统"site_footer = "http://www.cnblogs.com/shhnwangjian/"menu_style = "accordion"xadmin.site.register(views.CommAdminView, GlobalSetting)

apps.py文件

# -*- coding: utf-8 -*-
from django.apps import AppConfigclass UsersConfig(AppConfig):name = 'users'verbose_name = u'用户信息'

__init__.py文件

default_app_config = "users.apps.UsersConfig"

font awesome自定义

官网下载:http://fontawesome.io/

下载后覆盖css、fonts目录

在adminx.py文件中引入model_icon

class EmailVerifyRecordAdmin(object):list_display = ['code', 'email', 'send_type', 'send_time']search_fields = ['code', 'email', 'send_type']list_filter = ['code', 'email', 'send_type', 'send_time']model_icon = 'fa fa-address-book-o'xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)

model_icon这个值,在http://fontawesome.io/icons/ 中选中的图标或class内容,如下图

引用自定义的用户信息

如上图目录中xadmin源码中加入下面内容

from django.contrib.auth import get_user_model
User = get_user_model()

修改密码,需要更改源码

actions制作案例

adminx.py文件内容

from django.core.exceptions import PermissionDenied
from xadmin.views.base import filter_hook
from xadmin.util import model_format_dict, model_ngettextclass zabbixitmes_display_off_action(BaseActionView):action_name = "zabbixitmes_display_off_action"description = u'%(verbose_name_plural)s 展示和采集关闭'model_perm = 'change'@filter_hookdef change_models(self, queryset):n = queryset.count()if n:self.log('change', (u' %(count)d %(items)s. 展示和采集关闭')% {"count": n, "items": model_ngettext(self.opts, n)})for obj in queryset:obj.display_insert = 0obj.save()def do_action(self, queryset):if not self.has_change_permission():raise PermissionDeniedif self.request.POST:self.change_models(queryset)return None

提示:可以参考BaseActionView中的删除DeleteSelectedAction,可以实现xadmin自带的日志记录。用于审计操作者的操作内容。

转载于:https://www.cnblogs.com/shhnwangjian/p/6372503.html

django xadmin 安装和使用相关推荐

  1. Django+xadmin 打造线上教育平台(二)-1(旧)

    Django+xadmin 打造线上教育平台 一.完成用户注册和登录功能  1-1.完成首页页面,访问:http://127.0.0.1:8000/index/ 1)html页面代码: <!DO ...

  2. 通过一文学会搭建Django+Xadmin后台管理系统

    由于项目要快速搭建后台管理系统,想想知道的有Django admin还有Java的Guns,可是Guns并不熟悉,没时间慢慢学,于是使用Django+Xadmin搭建,下面记录详细的过程,请确保你的系 ...

  3. Django+xadmin 打造线上教育平台(二)登录-注册(重制)

    Django+xadmin 打造线上教育平台(二) 一.首页 1)views.py/index函数: def index(request):"""首页"&quo ...

  4. django+xadmin在线教育平台慕学网(二)

    三.xadmin后台管理 3.1 .xadmin的安装 github下在xadmin源码:下载地址 下载完成之后,解压复制xadmin文件夹 3.2.xadmin配置 (1)新建python pack ...

  5. 第三百九十二节,Django+Xadmin打造上线标准的在线教育平台—sql注入攻击,xss攻击,csrf攻击...

    第三百九十二节,Django+Xadmin打造上线标准的在线教育平台-sql注入攻击,xss攻击,csrf攻击 sql注入攻击 也就是黑客通过表单提交的地方,在表单里输入了sql语句,就是通过SQL语 ...

  6. 怎么检查python是否安装成功-检查python以及django是否安装配置成功

    首先说明下,我使用pycharm作为开发的IDE,在第一次创建django项目的时候,会自动安装django包的.(网上也有很多单独安装的方法),环境变量配置成功后,就是用下面的方法检测安装成功与否. ...

  7. 第三百七十七节,Django+Xadmin打造上线标准的在线教育平台—apps目录建立,以及数据表生成...

    第三百七十七节,Django+Xadmin打造上线标准的在线教育平台-apps目录建立,以及数据表生成 apps目录建立 我们创建一个apps目录,将所有的app放到apps目录里去,这样方便管理,也 ...

  8. 第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页...

    第三百八十九节,Django+Xadmin打造上线标准的在线教育平台-列表筛选结合分页 根据用户的筛选条件来结合分页 实现原理就是,当用户点击一个筛选条件时,通过get请求方式传参将筛选的id或者值, ...

  9. Django如何安装指定版本

    Django默认安装最新版本:pip install django Django后面接版本号就可以了:pip install django==1.11.7 如果使用pip install安装库比较慢, ...

  10. 浅谈web开发以及django的安装和入门

    浅谈web开发 1.B/S和C/S结构 B/S:浏览器与服务器进行的交互模式(不需要官方下载的,一夫多妻制) C/S:客户机与服务器进项的交互模式(必须官方下载的,一夫一妻制 2.MVC和MVT MV ...

最新文章

  1. Matlab与线性代数 -- 矩阵的范数
  2. Access update的时候传递参数的顺序
  3. 初学者如何选择合适的机器学习算法(附算法速查表)
  4. nginx 开启gzip压缩--字符串压缩比率很牛叉
  5. redis+mybatis+spring
  6. python入门指南-python3.6.0入门指南(官方版).pdf
  7. 对instance进行二次封装
  8. as常用固定搭配_人民日报整理:英语常用介词固定搭配,太实用了!
  9. 我的世界进服务器显示检查版本时间,我的世界怎么查看服务器种子_minecraft种子查看器...
  10. 删除bootcamp后扩充Mac分区
  11. office2016安装失败,或者需要卸载,如何彻底卸载
  12. 妙用自定义注解,一行代码搞定大功能(文末赠书)
  13. Linux常见问题及解决方案
  14. OAuth2.0 里面的 state 参数是干什么的?
  15. 【CC2530的点对点无线通讯开发(包含BasicRf协议栈、双击、长按、呼吸灯、跑马灯)】
  16. ccf-csp 2013-2015题目总结
  17. 2022年高压电工考试题及高压电工作业考试题库
  18. PCB设计:过孔的设计规则
  19. 芯片|兆易创新逾7300万股限售股下周一上市流通 占总股本23%
  20. ARCHLine.XP集成了BIMcatalogs.net平台提供的素材库

热门文章

  1. curl的php多线程类,php利用curl实现多线程类的示例
  2. js文件里获取路由 vue_纯js文件中,怎么使用vue的路由
  3. python课程典范选优_python 实现选课系统
  4. java radix sort_Java RadixSort
  5. linux函数入参个数限制,PowerShell函数中限制数组参数个数的例子
  6. oracle怎样停止到数据,oracle启动和停止
  7. node.js 微信小程序 部署服务器_微信小程序云开发如何上手
  8. 自动驾驶 8-0: 状态估计的重要 The Importance of State Estimation
  9. 【易实战】Spring Cloud Greenwich版本发布
  10. 171.Excel表列序号