xadmin 插件

目录

xadmin

介绍:

django中,自带有admin管理界面,是个非常强大的后台管理界面
    xadmin是admin的拓展,界面功能比admin更加强大

    对xadmin进行一些配置,所以不能直接修改pip package里的模块
    因此需要做xadmin离线安装,用来对django项目的xadmin后台定制

下载:

安装:luffy虚拟环境下

pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2
    
基础配置:
    1. 注册app:dev.py
    INSTALLED_APPS = [
        # ...
        # xamin主体模块
        'xadmin',
        # 渲染表格模块
        'crispy_forms',
        # 为模型通过版本控制,可以回滚数据
        'reversion',
    ]

    2.xadmin放到项目中的extra_apps文件夹中(一般把第三方的app放到一起,便于管理)
    将extra_apps放到系统路径中,这样django才能找到xadmin这个app

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

    3.在urls.py中修改管理员的网址配置
    # 就是在原来基础上加两个x
    import xadmin
    from django.conf.urls import url
    #from django.contrib import admin

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

数据库操作:

app目录下新建一个 adminx.py 文件 xadmin会自动查找到adminx.py这个文件

迁移命令:
python manage.py makemigrations
python manage.py migrate

创建超级用户:
python manage.py createsuperuser

全局配置:
新建home/adminx.py 文件:

# xadmin全局配置
import xadmin
from xadmin import views

class GlobalSettings(object):
    """xadmin的全局配置"""
    site_title = "路飞学城"  # 设置站点标题
    site_footer = "路飞学城有限公司"  # 设置站点的页脚
    menu_style = "accordion"  # 设置菜单折叠

xadmin.site.register(views.CommAdminView, GlobalSettings)
xadmin.site.register(Teacher, TeacherAdmin)  # 参数1是表(类),参数2是配置(类)

list_display 是 界面显示的各个字段设置
search_fields  是 搜索器设置   会把时间类型的字段排除,容易出问题
list_filter 是过滤器设置  

修改app名称:

只需修改每个app下的app.py文件,在config类中加上verbose_name=xxx,然后在对应__init__.py文件中加上default_app_config='对应config路径',

from django.apps import AppConfig

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

__init__.py:
            
default_app_config='users.apps.UsersConfig'

总结:

详解: https://www.cnblogs.com/lyq-biu/p/9513888.html
    
    xadmin界面好看,功能更强大,并完全支持Bootstrap主题模板。xadmin内置了丰富的插件功能。包括数据导出、书签、图表、数据添加向导及图片相册等多种扩展功能