09. xadmin 安装 使用

  1. 使用命令安装
pip install xadmin
  1. 在settings中 把xadmin以及crispy_forms添加到apps中
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'mirror',
    'xadmin',
    'crispy_forms',
]
  1. 把url中的admin指向 xadmin
import xadmin


urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
]
  1. 把原先 admin的注册方式删除掉
  2. 使用原先admin的用户名密码登陆

通过源码下载使用

  1. 去github搜索下载源码
git clone https://github.com/sshwsfc/xadmin.git
  1. 把xadmin文件放到项目目录下的“extra_apps”目录下 并用pychrom 将文件夹mark成为sourceroot
  2. 卸载掉原先pip安装的xadmin
pip uninstall xadmin
  1. 在app下新建一个==adminx.py==的文件

用一下方式注册model到xadmin

import xadmin

from .models import EmailVerifyRecord


class EmailVerifyRecordAdmin(object):
    pass

xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)

ps:

Django继承AbstractUser新建User Model时出现fields.E304错误 需要在setting中添加 AUTH_USER_MODEL = 'users.UserProfile'

  1. 创建超级用户的命令
python manage.py createsuperuser
  1. 在xadmin中制定字段展示及搜索方式
import xadmin

from .models import EmailVerifyRecord


class EmailVerifyRecordAdmin(object):
    # 列显示字段
    list_display = ['code', 'send_type', 'email', 'send_time']
    #可查询的字段即:搜索框
    search_fields = ['code', 'send_type', 'email', 'send_time']
    #过滤器
    list_filter = ['code', 'send_type', 'email', 'send_time']

xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)

全局配置

  1. 全局变量basesetting,在adminx.py文件内写入一下代码
from xadmin import views

class BaseSetting(object):
    enable_themes = True
    use_bootswatch = True


class GlobalSettings(object):
    site_title = "后台管理系统"
    site_footer = "在线网"
    menu_style = "accordion" # 将左侧字段折叠显示


xadmin.site.register(views.BaseAdminView, BaseSetting)
xadmin.site.register(views.CommAdminView, GlobalSettings)
  1. app名称在组建中显示为英文时需要添加verbose_nam

①在apps.py文件中加入以下内容

# _*_ coding: utf-8 _*_
from django.apps import AppConfig


class UsersConfig(AppConfig):
    name = 'users'
    verbose_name = u'用户管理'

②在init.py文件内写入

default_app_config = "users.apps.UsersConfig"
  1. xadmin 无法获取主题列表

解决方案:https://my.oschina.net/u/2396236/blog/1083251