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)
- 修改管理系统的名字inx.py 在adminx.py下修改
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)
- 修改应用的名字
应用apps.py
from django.apps import AppConfig
class BookConfig(AppConfig):
name = 'book'
verbose_name = '书籍名'
应用同级目录__init__.py
default_app_config = 'Book.apps.BookConfig