xadmin安装2
在python2.x时代,安装xadmin是通过如下命令
pip install xadmin
2.xadmin
在python3.6.x
时代的安装方法
需要安装如下的包
pip3 install django-import-export
pip3 install django-reversion
pip3 install django-formtools==2.1
pip3 install future
pip3 install httplib2
pip3 install six
pip3 install django-crispy-forms
2.1 下载xadmin
2.2、解压缩,得到xadmin
文件夹,复制到项目的extra_apps
,解压缩,得到xadmin
文件夹, 如下图所示:
2.3、在django中的根目录下创建Python Package
,命名为extra_apps
(如果不存在此文件夹则创建, 然后 鼠标右键extra_app
随后 mark as sources root
)
(Python Package
是带init
文件的,跟普通Package
不同)
创建完extra_apps
,需要在settings
中配置一下extra_apps
。设置为可搜索的路径
import os
import sys
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps')) # 把extra_apps文件夹添加到搜索目录中
2.4、把xadmin
文件夹复制到extra_apps
2.5、xadmin
的配置
配置到 INSTALLED_APPS
## 显示中文
# Application definition
# LANGUAGE_CODE = 'en-us'
LANGUAGE_CODE = 'zh-hans'
# TIME_ZONE = 'UTC'
TIME_ZONE = 'Asia/Shanghai'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'xadmin',
'crispy_forms', # 注意crispy_forms之间是下划线隔开,不是横线
]
2.6、修改urls.py
的admin
import xadmin
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
# url('admin/', admin.site.urls),
url(r'^xadmin/', xadmin.site.urls),
]
2.7、迁移文件
python3 manage.py makemigrations
python3 manage.py migrate
迁移完成后,我们看到数据库多了几张表
2.8、pycharm
创建superuser
用户
python3 manage.py makemigrations
python3 manage.py migrate
至此完成。
如果报错,请先把原先旧的app
里面admin.py
里面的注册代码去掉,再试试
运行一下项目,访问
xadmin的使用
1.需要在app
中创建adminx.py
文件
import xadmin
from repository import models
from xadmin import views
class UserProfileAdmin(object):
### 显示的字段名称
list_display = ['id','name' ,'email','phone','mobile']
# 搜索时可输入的字段内容
search_fields = ['id', 'name', 'email', 'phone']
# 点击id可进入详细界面进行编辑(默认的)
list_display_links = ('id',)
## 可编辑的列名
list_editable = ['name' ,'email','phone','mobile']
# list_filter = ['name' ,'email','phone','mobile']
# 每页显示多少条
list_per_page = 20
#根据id排序
ordering = ('id',)
#设置只读字段
readonly_fields = ('user_email',)
#显示本条数据的所有信息
show_detail_fields = ['asset_name']
xadmin.site.register(models.UserProfile,UserProfileAdmin)
3.数据导出
如果想要导出Excel
数据,需要安装xlwt
。
默认情况下,xadmin
会提供Excel
,CSV
,XML
,json
四种格式的数据导出,可以通过设置OptionClass
的list_export
属性来指定使用哪些导出格式(四种格式分别用xls
,csv
,xml
,json
表示)或是将list_export
设置为None
来禁用数据导出功能
list_export = ('xls', 'xml', 'json')
list_export_fields = ('id', 'name', 'title')
4.设置全局的配置
# 全局修改,固定写法
class GlobalSettings(object):
# 修改title
site_title = 'xxx后台管理界面'
# 修改footer
site_footer = 'xxx的公司'
# 收起菜单
menu_style = 'accordion'
# 设置 models图标
# https://v3.bootcss.com/components/
# http://www.yeahzan.com/fa/facss.html
global_search_models = [models.Disk, models.Server]
global_models_icon = {
# Server: "glyphicon glyphicon-tree-conifer", Pool: "fa fa-cloud"
models.Server: "fa fa-linux", models.Disk: "fa fa-cloud"
}
# 将title和footer信息进行注册
xadmin.site.register(views.CommAdminView,GlobalSettings)
- 图表显示
data_charts = {
"host_service_type_counts": {
'title': '部门机器使用情况',
'x-field': "business_unit",
'y-field': ("business_unit"),
'option': {
"series": {"bars": {"align": "center", "barWidth": 0.8, "show": True}},
"xaxis": {"aggregate": "count", "mode": "categories"}
},
},
"host_idc_counts": {
'title': '机房统计',
'x-field': "idc",
'y-field': ("idc",),
'option': {
"series": {"bars": {"align": "center", "barWidth": 0.3, "show": True}},
"xaxis": {"aggregate": "count", "mode": "categories"}
}
}
}
- 注册模型与对应的管理类
xadmin.site.register(models.Disk, DiskAdmin)
xadmin.site.register(models.Server, ServerAdmin)
xadmin.site.register(models.IDC, IDCAdmin)
xadmin.site.register(models.UserProfile, UserProfileAdmin)
xadmin.site.register(models.UserGroup, UserGroupAdmin)
个性签名:独学而无友,则孤陋而寡闻!
如果觉得这篇文章对你有小小的帮助的话,记得点个“关注”哦,博主在此感谢!还可以扫码添加好友,交流编程上的问题哦!
万水千山总是情,点赞再走行不行!哈哈哈(っ•̀ω•́)っ✎⁾⁾!