关于xadmin的简单使用

一般来说,一个完整的后台系统具有以下特点:

  • 具有权限管理功能
  • 少前端样式
  • 快速开发

Django自带的admin:

Django本身是自带后台管理系统的,不过个人感觉不太好看

将settings的语言时区设为中文和上海:

关于xadmin的简单使用_第1张图片
Screenshot from 2018-03-06 12-36-46.png

USE_TZ = False,这个参数是用来设定使用本地时间,如果设置为True,就会使用国际时间

关于xadmin的简单使用_第2张图片
Screenshot from 2018-03-06 12-59-02.png

注册admin(以users app为例)

在users app中的admin.py加入以下代码:

from django.contrib import admin

# Register your models here.
from .models import UserProfile


class UserProfileAdmin(admin.ModelAdmin):
    pass


admin.site.register(UserProfile, UserProfileAdmin)

这样就注册好了:

关于xadmin的简单使用_第3张图片
Screenshot from 2018-03-06 13-03-02.png

以上就是自带admin的简单注册显示,下面就来介绍xadmin...

安装xadmin

两种方法:

  • 第一种:pip install xadmin(非常不推荐,因为会各种报错,并且不太好解决),不做叙述
  • 第二种:源码安装,请自行去github搜索xadmin项目下载源码包,下载完成后只需将master分支中的xadmin目录移动到你的Django项目目录下(与manage.py同级),这种方法也会报一些错,但是都是因为缺少某些库导致的,只需要pip install 它提示缺少的库 就行了:

然后在installed_apps中添加'xadmin'和'crispy_forms':

关于xadmin的简单使用_第4张图片
Screenshot from 2018-03-06 17-52-32.png

再将项目目录下的urls.py内容改为:

import xadmin
urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),
]

注意:如果之前admin.py中有注册过admin,需要删除,避免造成影响

如果习惯将第三方app统一放到一个目录下管理,可以新建一个extra_apps的目录,将下载的xadmin目录放到其中,然后在settings.py中加上

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

xadmin的使用

注册xadmin:

其实和Django自身的admin注册很类似:

  1. 先在app目录下新建一个adminx.py文件(xadmin会自动搜索每个app下面的adminx.py文件,然后根据这些文件来注册)
  2. 编辑此文件,以邮箱验证码的model为例:
import xadmin

from .models import EmailVerifyRecord


class EmailVerifyRecordAdmin(object):
    pass


xadmin.site.register(EmailVerifyRecord, EmailVerifyRecordAdmin)

这样就完成了一个简单的注册,可以在后台看到验证码了:

关于xadmin的简单使用_第5张图片
Screenshot from 2018-03-06 18-34-30.png

自定义显示格式

  • 显示列,通过定义list_display:
关于xadmin的简单使用_第6张图片
Screenshot from 2018-03-06 18-37-53.png
关于xadmin的简单使用_第7张图片
Screenshot from 2018-03-06 18-39-44.png

显示顺序和数组定义时相同

  • 搜索功能,通过定义search_fields:
关于xadmin的简单使用_第8张图片
Screenshot from 2018-03-06 18-46-06.png

这里没有将时间加进去,是因为一般都是通过某个时间段筛选数据(下面会介绍)而不是搜索具体某个时间点的记录,并且加入时间会影响到搜索其它字段,比如:邮箱账号...以上仅仅是个人见解,如果硬要加上时间搜索也是可以的。

你可能感兴趣的:(关于xadmin的简单使用)