xadmin 安装

方法一

不建议因为有可能无法使用xdmin新功能


pip install xadmin

方法二

建议源码获取项目https://github.com/sshwsfc/xadmin
github地址为[https://github.com/sshwsfc/xadmin](https://github.com/sshwsfc/xadmin)

requirements.txt

django>=1.9.0
django-crispy-forms>=1.6.0
django-import-export>=0.5.1
django-reversion>=2.0.0
django-formtools==1.0
future==0.15.2
httplib2==0.9.2
six==1.10.0

setting.py配置

INSTALLED_APPS = (
'Book', #原应用
'xadmin', #注册xadmin
'crispy_forms', #crispi_forms与xadmin配套
)

项目url路由中配置

from django.conf.urls import include, url
#from django.contrib import admin
import xadmin 引入包
urlpatterns = [
url(r'^xadmin/', include(xadmin.site.urls)), #改为xadmin

url(r'^', include('Book.urls', namespace='book'))
]

在每个APP目录下新建一个adminx.py文件,这里以订单BookIfo为例。

model内容如下:

from django.db import models

class BookInfo(models.Model):
name = models.CharField(max_length=20, verbose_name='图书名称')
pub_date = models.DateField(null=True, verbose_name='发布日期')
readcount = models.IntegerField(default=0, verbose_name='阅读量')
commentcount = models.IntegerField(default=0, verbose_name='评论量')
isDelete = models.BooleanField(default=False, verbose_name='逻辑删除')

class Meta:
db_table = 'bookinfo'
verbose_name = '书籍信息'
verbose_name_plural = verbose_name

def __str__(self):
return self.name
import xadmin
from .models import BookInfo

class BookInfoAdmin(object):
"""BookInfo模型类的站点管理类"""

list_per_page = 10 设置每页展示数据的条数,默认是100
actions_on_bottom = True 设置action/动作的位置,在底部增加一个
list_display = ['id','name','parent','title'] 指定展示的字段
list_filter = ['name'] 右侧过滤栏
search_fields = ['name'] 搜索框

# 以下代码是演示站点管理界面的编辑页选项
# fields = ['parent', 'name']
# 分组:fieldsets和fields必须二选一
fieldsets = [
('高级', {'fields': ['parent']}),
('基本', {'fields':['name']}),
]
# 扩展关联的对象
inlines = [AreaInfoStackedInline]

xadmin.site.register(BookInfo, BookInfoAdmin)
import xadmin
from xadmin import views

class BaseSetting(object):
enable_themes = True # 默认主题为Fauls,设为Ture
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)
from django.apps import AppConfig

class BookConfig(AppConfig):
name = 'book'
verbose_name = '书籍名'

应用同级目录__init__.py

default_app_config = 'Book.apps.BookConfig